json - 嵌套的 JSON golang 映射

标签 json go struct types nested

我找不到和我一样的问题。

我有以下 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/

相关文章:

c++ - vector 结构的大小

ios - 如何保存结构体的顺序?

javascript - ajax 和 php 之间的数组 json

javascript - 连接多级对象以进行过滤

javascript - 将 JSON 对象发布到 iFrame

url - 获取传递的查询字符串

javascript - 简单的 react 过滤

ubuntu - go - 从 ubuntu ppa 安装的说明

go - 如何将 slice 复制到自身

c - c中的结构数组在读取c中的文本文件后未获取其所有值