Memformat Cap Masa untuk Pengekodan JSON
Apabila bekerja dengan Go, seseorang mungkin menghadapi keperluan untuk memformat cap masa yang dikeluarkan mengikut masa. Jenis masa. Secara lalai, JSON marshals masa sebagai RFC3339, menghasilkan format yang tidak diingini.
Menyesuaikan Pemformatan Cap Masa
Untuk menyesuaikan pemformatan cap waktu, laksanakan antara muka Marshaler untuk jenis masa tersuai anda :
import ( "encoding/json" "fmt" ) 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 }
Gunakan jenis tersuai ini pada Dokumen anda struct:
type Document struct { Name string Content string Stamp JSONTime Author string }
Apabila marshaling, anda kemudian boleh memulakan contoh Dokumen sebagai:
testDoc := model.Document{"Meeting Notes", "These are some notes", JSONTime(time.Now()), "Bacon"}
JSON yang terhasil kini akan mempunyai cap masa yang diformatkan dalam format yang anda inginkan, seperti "Mei 15, 2014".
Atas ialah kandungan terperinci Bagaimana untuk Menyesuaikan Pemformatan Cap Masa dalam Pengekodan JSON Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!