尝试对包含 2 个时间字段的结构进行 json 编组。但我只希望该字段具有时间价值。所以我正在使用json:",omitempty"但它不起作用。
我可以将 Date 值设置为什么,以便 json.Marshal 将其视为空(零)值而不将其包含在 json 字符串中?
游乐场:http : //play.golang.org/p/QJwh7yBJlo
实际结果:
{"时间戳":"2015-09-18T00:00:00Z","日期":"0001-01-01T00:00:00Z"}
期望的结果:
{"时间戳":"2015-09-18T00:00:00Z"}
代码:
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),
Field: "",
}
bb, err := json.Marshal(ms)
if err != nil {
panic(err)
}
fmt.Println(string(bb))
}
隔江千里
呼啦一阵风
RISEBY
相关分类