登录
首页 >  Golang >  Go问答

Golang 将 JSON 数组解析成数据结构

来源:Golang技术栈

时间:2023-03-22 08:01:07 391浏览 收藏

本篇文章给大家分享《Golang 将 JSON 数组解析成数据结构》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

问题内容

我正在尝试解析包含 JSON 数据的文件:

[
  {"a" : "1"},
  {"b" : "2"},
  {"c" : "3"}
]

由于这是一个带有动态键的 JSON 数组,我想我可以使用:

type data map[string]string

但是,我无法使用 a 解析文件map

c, _ := ioutil.ReadFile("c")
dec := json.NewDecoder(bytes.NewReader(c))
var d data
dec.Decode(&d)


json: cannot unmarshal array into Go value of type main.data

将包含 JSON 数据的文件解析为 Go 结构的最简单方法是什么?

编辑: 为了进一步详细说明已接受的答案——我的 JSON 确实是一组地图。为了使我的代码正常工作,该文件应包含:

{
  "a":"1",
  "b":"2",
  "c":"3"
}

然后可以读成map[string]string

正确答案

这是因为你的 json 实际上是一个地图数组,但你试图解组为一个map. 尝试使用以下内容:

type YourJson struct {
    YourSample []struct {
        data map[string]string
    } 
}

文中关于golang的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《Golang 将 JSON 数组解析成数据结构》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表