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 }
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 }
Kod Contoh
Mulakan Dokumen dengan tersuai anda cap masa:
testDoc := model.Document{"Meeting Notes", "These are some notes", JSONTime(time.Now()), "Bacon"}
Kini, anda boleh menghantar respons dengan format cap masa tersuai:
sendResponse(testDoc, w,r)
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!