当前位置: 首页 > 面试题库 >

将JSON解组到struct:无法将数组解组到Go值

伯逸明
2023-03-14
问题内容

我有一项通过REST为我提供属性的服务。现在,我想将身体解组为属性结构。请查看此操场示例:单击。当我只有一个财产时,可以轻松将其编组为Property。但是,服务器发出的ACTUAL响应有所不同。我要解组的实际响应是这样的:

[
    {
        "key": "blabla",
        "secret": false,
        "type": "string",
        "value": "hereisthevalue"
    },
    {
        "key": "yepyepakey",
        "secret": true,
        "type": "string",
        "value": "dummy"
    }
]

不幸的是,我不知道如何解组。有人可以指出正确的方向吗?


问题答案:

您需要解组一片属性:http :
//play.golang.org/p/eRgjfBHypH

var props []Property
er := json.Unmarshal(resp, &props)
if er != nil {
    panic(er)
} else {
    fmt.Println(props)
}


 类似资料:
  • 问题内容: json:无法将数组解组为类型的Go值 配置json: 和我的golang代码是这样的: json解析代码: 问题答案: 您的类型是造成问题的原因。摆脱它,它的工作原理是: 游乐场:https://play.golang.org/p/Prt1j7ePCZ。

  • 问题内容: 我想将以下JSON解组到结构中: 我试图以各种方式修改,但是结构始终为空: 输出: 过去使用的JSON没有括号,因此我怀疑问题与它们有关。 有人可以帮忙吗? https://play.golang.org/p/pymKbOqcM- 问题答案: 发生这种情况是因为其他包()无法访问私有字段(即使具有反射)。在私有语言中,私有字段是以小写字母开头的字段。要解决此问题,请使您的结构包含公共字

  • 问题内容: 我有以下JSON,我想将其解析为类数组: 这是我想做的但失败的事情: 编译器抱怨v [“ level”] <<无效操作。interface()类型的索引。 问题答案: 此代码中有许多错误。首先,json是无效的json。您缺少顶级对象中密钥对之间的逗号。我添加了逗号并为您漂亮地打印了它: 你的下一个问题(你问的那个)是做一个。这意味着当您在范围循环中对它进行索引时,类型为。您需要使用再

  • 问题内容: 我正在尝试将YAML数据解析为字符串: 由于某种原因,config是一个空结构&{}。 问题答案: 您的结构的字段未导出。导出它们,它将起作用。

  • 问题内容: 我有一个非常简单的JSON文件,类似这样,但是有成千上万个字符串: 我想把水果装入一个 最好的方法是什么?有没有一种方法我不需要遍历每个元素并使用循环插入到地图中? 问题答案: 这是示例,您可以在没有任何结构的情况下解组字符串列表。 或者可以使用字符串列表代替字符串列表

  • 问题内容: 我是Go的新手,现在遇到了问题。我有一个称为Message的类型,它是这样的结构: 我也有一个名为CreateMessage的类型,如下所示: 我有一个像的JSON字符串。 当我用来将其解码为Message变量时,答案是。 因此,我可以将JSON解码为Message结构并更改其Data的接口{}以根据Cmd键入CreateMessage吗? 我试图将Data直接转换为CreateMes