我找不到和我一样的问题。
我有以下 JSON:
{
result: "true",
data: [
{
randomName: {
val: 2,
secval: 0.142412,
thirdval: 0.5235325,
},
secRandomName: {
val: 8,
secval: 0.152512,
thirdval: 0.6574,
},
thiRandomName: {
val: 6,
secval: 0.4121,
thirdval: 0.2123
},
}
]
}`
如何在 golang 中创建一个与 JSON 示例一起工作的类型,我尝试过这样的事情:
type TheData struct {
Result string `json:"result"`
Data map[string]DataInfo `json:"data"`
}
type DataInfo struct {
Value int `json:"val"`
SecondValue float32 `json:"secval"`
ThirdValue float32 `json:"thirdval"`
}
但这是错误的。
附言对不起我的英语,我希望你能理解。谢谢。
最佳答案
这真的能代表您的数据吗?它不是有效的 JSON。请参阅 json.org 中的说明.特别是您需要在字符串周围加上引号,并且逗号不应出现在对象或数组的最后一个成员之后。奇怪的是 "true"
是一个字符串而不是 bool 值。由于这显然不是数据的复制/粘贴,您确定方括号和花括号正确吗?这些对答案很重要。
假设你做对了......从这些行:
data: [
{
randomName: {
我们可以看出 data
是一个对象数组。如果您指的是方括号,则该数组未在您的数据模型中表示是错误的。更改您的数据模型以包含一个 slice 来捕获 JSON 数组:
type TheData struct {
Result string `json:"result"`
Data []map[string]DataInfo `json:"data"`
}
关于json - 嵌套的 JSON golang 映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51585362/