您的
json标签规范不正确,这就是为什么
encoding/json库默认使用字段名称的原因
Name。但由于没有带
"Name"key的JSON字段,因此
Animal.Name将保持其零值(即空字符串
"")。
取消编组
Order将仍然有效,因为
json如果
json缺少标签说明(小写和大写尝试),程序包将使用字段名称。由于字段名称与JSON密钥相同,因此无需额外的JSON标签映射即可使用。
标签规范中的冒号后面和引号之前不能有空格:
type Animal struct { Name string `json:"Na me"` Order string `json:"Order,omitempty"`}
通过这个简单的更改,它可以工作(在GoPlayground上尝试):
[{Name:Platypus Order:Monotremata} {Name:Quoll Order:Dasyuromorphia}]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)