【发布时间】:2013-08-07 22:31:47
【问题描述】:
我有一个这样的结构:
type Result struct {
Data MyStruct `json:"data,omitempty"`
Status string `json:"status,omitempty"`
Reason string `json:"reason,omitempty"`
}
但即使 MyStruct 的实例完全为空(意味着所有值都是默认值),它也会被序列化为:
"data":{}
我知道encoding/json 文档指定“空”字段是:
false,0,任何 nil 指针或接口值,以及任何数组, 长度为零的切片、映射或字符串
但不考虑所有空/默认值的结构。它的所有字段也都标有omitempty,但这没有任何作用。
如何让 JSON 包不编组我的空结构字段?
【问题讨论】: