Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Menyesuaikan Pemformatan Cap Masa dalam Output JSON Go?

Bagaimanakah Saya Boleh Menyesuaikan Pemformatan Cap Masa dalam Output JSON Go?

DDD
Lepaskan: 2025-01-03 06:41:39
asal
901 orang telah melayarinya

How Can I Customize Timestamp Formatting in Go's JSON Output?

Memformat Cap Masa dalam JSON Keluar dengan Jenis Tersuai

Untuk memformat cap masa semasa pengekodan JSON, anda boleh mencipta jenis tersuai yang melaksanakan antara muka Marshaler . Dengan berbuat demikian, anda mendapat kawalan ke atas proses bersiri, membolehkan anda menentukan format yang diingini.

Melaksanakan Antara Muka Marshaler

Antara muka Marshaler memerlukan satu kaedah, MarshalJSON, yang mengembalikan kepingan bait yang mewakili data yang dikodkan JSON dan ralat jika ada. Dalam kes ini, anda akan menentukan jenis tersuai yang membungkus masa. Masa dan melaksanakan MarshalJSON.

Berikut ialah contoh pelaksanaan:

type JSONTime time.Time

func (t JSONTime)MarshalJSON() ([]byte, error) {
    // Format the timestamp in the desired format
    stamp := fmt.Sprintf("\"%s\"", time.Time(t).Format("Mon Jan _2"))
    return []byte(stamp), nil
}
Salin selepas log masuk

Mengemas kini Struktur Dokumen

Dalam struct Dokumen anda, gantikan masa.Masa dengan jenis JSONTime tersuai untuk Setem medan:

type Document struct {
    Name        string
    Content     string
    Stamp       JSONTime
    Author      string
}
Salin selepas log masuk

Memulakan Dokumen

Apabila memulakan contoh Dokumen, gunakan JSONTime(time.Now()) dan bukannya masa.Now():

testDoc := model.Document{"Meeting Notes", "These are some notes", JSONTime(time.Now()), "Bacon"}
Salin selepas log masuk

Dengan mengikut langkah ini, anda boleh memformat cap masa dalam respons JSON anda mengikut keperluan anda. Anda boleh melanjutkan konsep ini kepada jenis atau senario tersuai lain mengikut keperluan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyesuaikan Pemformatan Cap Masa dalam Output JSON Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan