go 切片转 json 为空的原因分析
这个问题涉及到 go 语言中将结构体切片转换为 json 对象时遇到的空数组问题。
在给出的代码中,问题在于结构体 user 的成员名称为小写字母开头。在 go 中,只有大写开头的字段才能被 json 序列化。因此,当将 all 切片序列化为 json 时,由于 all 切片中的结构体成员名称都是小写开头,因此 json 中只会出现空对象。
要解决这个问题,需要将 user 结构体的成员名称改成大写开头,或通过使用 struct tag 为小写开头的字段指定对应的 json 字段名称。
修改后的代码如下:
type User struct { Name string // 大写导出的成员才可以在 json 里出现,小写开始的不可以。 Sfz string `json:"sfz"` // 如果希望在 json 里使用跟成员不一样的名称(比如希望用小写开始),可以加 struct tag }
登录后复制
通过这些修改,all 切片就可以正确地转换为包含数据的 json 对象。
以上就是Go 切片转 JSON 为空,?的详细内容,更多请关注php中文网其它相关文章!