golang 切片转json 为空[] 如何处理?

请看代码!

type User struct {
    name string
    sfz  string
}
all := []User{}
for i := 1; i <= 2; i++ {
  tempUser := User{name: a["name"].(string), sfz: a["sfz"].(string)} // a 是某个map
  all = append(all, tempUser)
}
fmt.Println(all)
json, e := json.Marshal(all)
fmt.Println(e)
fmt.Println(json)

这里的fmt.printLn(all)是可以输出数据的

[{xxxxx xxxx},{xxxxx xxxx},{xxxxx xxxx}……]

但是 fmt.pringtLn(json),却输出了空数组对象,也未报错!

[{},{},{},{},{},{},{},{}]

不知道怎么回事!望君解答下!!!!!

阅读 2.2k
1 个回答
type User struct {
    Name string // << 大写导出的成员才可以在 json 里出现,小写开始的不可以。
    Sfz  string `json:"sfz"` //< 如果希望在 json 里使用跟成员不一样的名称(比如希望用小写开始),可以加 struct tag 
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题