我很难解析以下JSON数组。
// JSON Array
[
{
"ShaId": "adf56a4d",
"Regions": [
{
"Name": "us-east-1a"
}
]
}
.... more such
]
Go Goground的链接: - https://play.golang.org/p/D4VrX3uoE8
我在哪里弄错了?
答案 0 :(得分:2)
这是您原来的JSON输入:
content := `{"ShaId": "adf56a4d", "Regions": [{"Name": "us-east-1a"}]}`
它不是数组,请将其更改为:
content := `[{"ShaId": "adf56a4d", "Regions": [{"Name": "us-east-1a"}]}]`
有了这个,结果:
Results: []main.ShaInfo{main.ShaInfo{ShaId:"adf56a4d",
Regions:main.Region{struct { Name string }{Name:"us-east-1a"}}}}
注意:强>
如果您输入的不是数组,则不要尝试解析数组(切片),只需一个ShaInfo
。如果您不能/不能修改输入,这也有效:
var data ShaInfo
content := `{"ShaId": "adf56a4d", "Regions": [{"Name": "us-east-1a"}]}`
json.Unmarshal([]byte(content), &data)
输出:
Results: main.ShaInfo{ShaId:"adf56a4d",
Regions:main.Region{struct { Name string }{Name:"us-east-1a"}}}