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

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

Linda Hamilton
Lepaskan: 2024-12-25 14:13:17
asal
194 orang telah melayarinya

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

Memformat Cap Masa dalam JSON Responses

Pakej masa Go menyediakan masa. Jenis masa untuk mewakili cap masa. Walau bagaimanapun, apabila mengekodkan objek time.Time kepada JSON menggunakan json.NewEncoder, ia diformatkan dalam format mesra mesin. Jika anda ingin menyesuaikan format cap masa dalam respons JSON, gunakan langkah berikut:

Menyesuaikan Format Cap Masa

Buat jenis tersuai yang membenamkan masa. Masa dan melaksanakan Antara muka Marshaler.

type JSONTime time.Time

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

Kod ini mentakrifkan jenis yang memformat cap masa sebagai "Isnin Jan _2".

Menggunakan Jenis Masa Tersuai

Dalam struct Dokumen anda, gunakan jenis JSONTime untuk medan cap masa:

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

Kod Contoh

Mulakan Dokumen dengan tersuai anda cap masa:

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

Kini, anda boleh menghantar respons dengan format cap masa tersuai:

sendResponse(testDoc, w,r)
Salin selepas log masuk

Nota:

Sebagai alternatif, anda boleh menggunakan perpustakaan seperti timelib untuk menyesuaikan format cap masa dengan mudah. Ia menyediakan kaedah MarshalJSON untuk masa. Nilai masa.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyesuaikan Pemformatan Cap Masa dalam Respons 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan