将 json 数组解组为结构

我有一组自定义值


[

    1,

    "test",

    { "a" : "b" }

]

我可以解组到 []interface{},但这不是我想要的。


我想解组这个数组来构造


type MyType struct {

    Count int

    Name string

    Relation map[string]string

}

在 Go 中是否可以使用标准库或侧库?


慕丝7291255
浏览 197回答 3
3回答

jeck猫

由于您的 json 在数组中包含不同类型的值,因此无法简单地用 go 解析它。如果您可以控制 json 输入的格式,请将三个值包裹起来{}形成一个对象,如下所示:[    {        "Count": 1,        "Name": "test",        "Relation": { "a" : "b" }     }]然后解析到你的结构应该工作。如果您无法控制 json 输入。将其解析为 []interface{},然后手动将值分配给您的结构。即使这可能会变得棘手,这取决于您想要支持的可能响应的复杂性。请注意,这个问题指向了 golangs json 解析方法的核心限制,因此 - 据我所知 - 它也无法通过库解决。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go