我有一组自定义值[ 1, "test", { "a" : "b" }]我可以解组到 []interface{},但这不是我想要的。我想解组这个数组来构造type MyType struct { Count int Name string Relation map[string]string}在 Go 中是否可以使用标准库或侧库?
3 回答
jeck猫
TA贡献1909条经验 获得超7个赞
由于您的 json 在数组中包含不同类型的值,因此无法简单地用 go 解析它。如果您可以控制 json 输入的格式,请将三个值包裹起来{}形成一个对象,如下所示:
[
{
"Count": 1,
"Name": "test",
"Relation": { "a" : "b" }
}
]
然后解析到你的结构应该工作。
如果您无法控制 json 输入。将其解析为 []interface{},然后手动将值分配给您的结构。即使这可能会变得棘手,这取决于您想要支持的可能响应的复杂性。
请注意,这个问题指向了 golangs json 解析方法的核心限制,因此 - 据我所知 - 它也无法通过库解决。
- 3 回答
- 0 关注
- 196 浏览
添加回答
举报
0/150
提交
取消