我从客户端获得了成功提交用户详细信息的JSON。
JSON中的某些元素可以跳过,因为它们没有更新。
在Golang服务器端,我定义了一个等效的结构。
服务器成功地将JSON字节封送到结构中。
type user struct {
Id *int64 `json:",omitempty"`
Name *string `json:",omitempty"`
Age *int64 `json:",omitempty"`
}
但对于未从客户端收到的字段,默认情况下解组为字符串的硬编码为nil,为字符串数组为空数组。
例如,如果我得到json { "Id" : 64, "Name" : "Ryan" }
,
我不想让unmarshal将其转换为{"Id" : some hexadecimal, "Name" : some hexadecimal, "Age" : nil}
。
为简单起见,我希望它是{"Id" : some hexadecimal, "Name" : some hexadecimal }
我如何完全忽略该字段并绘制我得到的内容?
Goplayground代码:http://play.golang.org/p/3dZq0nf68R
感谢您的回复。
答案 0 :(得分:11)
您有点困惑,fmt.Printf("%+v", animals)
打印Go结构,它将始终打印出指定的所有字段。
但是,如果将其转换回json,则会省略nil字段。