为了账号安全,请及时绑定邮箱和手机立即绑定

无法在 Golang 中解析 JSON 数组

无法在 Golang 中解析 JSON 数组

Go
慕哥6287543 2021-09-21 22:17:15
我很难解析以下 JSON 数组。// JSON Array[        {    "ShaId": "adf56a4d",    "Regions": [      {        "Name": "us-east-1a"      }    ]  } .... more such]     Go Playground 链接:- https://play.golang.org/p/D4VrX3uoE8我哪里出错了?
查看完整描述

1 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

这是您的原始 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"}}}


查看完整回答
反对 回复 2021-09-21
  • 1 回答
  • 0 关注
  • 202 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信