JSON omitempty with time.Time Field
在Go 中,json,omitempty" 註解允許您從JSON 中排除具有空值的字段但是,這不適用於time.Time 字段,因為它們具有被視為有效的零值。 date.
要解決此問題,請將time.Time 欄位設為time.Time{},而不是將其保留為零值。 🎜>
考慮以下範例:package main import ( "encoding/json" "fmt" "time" ) type MyStruct struct { Timestamp time.Time `json:",omitempty"` Date time.Time `json:",omitempty"` Field string `json:",omitempty"` } func main() { ms := MyStruct{ Timestamp: time.Date(2015, 9, 18, 0, 0, 0, 0, time.UTC), Date: time.Time{}, Field: "", } bb, err := json.Marshal(ms) if err != nil { panic(err) } fmt.Println(string(bb)) }
{"Timestamp":"2015-09-18T00:00:00Z"}
以上是如何在 Go 中處理 `json:'omitempty'` 和 `time.Time` 欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!