下面这种 json 字符串 golang 怎么实现通过 map 和 list 结构输出出来呢?

查看 79|回复 3
作者:gmlaogong   
我是 java 项目中需要 go 输出这种接口的 json 字符串,搞了半天不行,麻烦问一下,怎么实现,在 java 中通过对象和 list 就能实现。go 怎么实现呢?目前外层我用的是 map ,personInfo 这里 list ,但是 list 不好使不知道为什么?
这里是我写的结构
data := make(map[string]interface{})
data["sign_type"] = "sign"
data["dev_sno"] = "888088"
data["register_no"] = "888088"
data["type"] = "1"
dataPersonInfo := make(map[string]int)
dataPersonInfo.PushBack(map[string]int{
"person_type": 4,
"total": 10,
})
dataPersonInfo.PushBack(map[string]int{
"person_type": 3,
"total": 5,
})
data["personInfo"] = dataPersonInfo
下面是想要输出的结构
{
"sign_type": "sign",
"dev_sno": "888999",
"register_no": "888999",
"type": "1",
"personInfo": [
{
"person_type": 4,
"total": 10
},
{
"person_type": 3,
"total": 5
}
]
}

map, Data, string, total

FreeEx   
把 list 换成 slice 就好了,golang 里面的 list 很少使用。
willchen   
data := make(map[string]interface{})
data["sign_type"] = "sign"
data["dev_sno"] = "888088"
data["register_no"] = "888088"
data["type"] = "1"
dataPersonInfo := make([]map[string]int, 0)
dataPersonInfo = append(dataPersonInfo, map[string]int{
"person_type": 4,
"total": 10,
})
dataPersonInfo = append(dataPersonInfo, map[string]int{
"person_type": 3,
"total": 5,
})
data["personInfo"] = dataPersonInfo
sunny352787   
https://mholt.github.io/json-to-go/
你可以考虑把 json 贴进去,生成 struct
您需要登录后才可以回帖 登录 | 立即注册

返回顶部