无法在 Golang 中解析 JSON 数组

Unable to parse JSON array in Golang

我很难解析以下 JSON 数组。

// JSON Array
[      
  {
    "ShaId": "adf56a4d",
    "Regions": [
      {
        "Name": "us-east-1a"
      }
    ]
  }
 .... more such
]     

Link 去游乐场 :- https://play.golang.org/p/D4VrX3uoE8

我哪里出错了?

这是你原来的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。如果您不t/can不修改输入,这也有效:

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"}}}