我在成功提交用户详细信息时从客户端获得了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
感谢您的回复 .
1 回答
你有点困惑,
fmt.Printf("%+v", animals)
打印Go结构,它将始终打印出指定的所有字段 .但是,如果将其转换回json,它将省略nil字段 .
检查http://play.golang.org/p/Q2M5oab2UX