首页 > 后端开发 > Golang > 如何在 Go 结构中表示具有动态键的 JSON 数组?

如何在 Go 结构中表示具有动态键的 JSON 数组?

Barbara Streisand
发布: 2024-12-08 19:49:11
原创
262 人浏览过

How to Represent a JSON Array with Dynamic Keys in a Go Struct?

具有动态键的 JSON 数组的 Go 结构表示

考虑一个包含数组的 JSON 文件:

[
  {"a" : "1"},
  {"b" : "2"},
  {"c" : "3"}
]
登录后复制

尽管尝试将其解析为字符串到字符串的映射,错误出现:

json: cannot unmarshal array into Go value of type main.data
登录后复制

为了解决这个问题,我们需要一个镜像 JSON 数组格式的 Go 结构。

正确的方法可以在这里找到:https://play.golang.org /p/8nkpAbRzAD

type mytype []map[string]string

func main() {
    var data mytype
    file, err := ioutil.ReadFile("test.json")
    if err != nil {
        log.Fatal(err)
    }
    err = json.Unmarshal(file, &data)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(data)
}
登录后复制

此定义将 mytype 声明为映射的切片,与 JSON 数组的结构对齐。它允许正确解析和表示 Go 结构中的 JSON 数据。

以上是如何在 Go 结构中表示具有动态键的 JSON 数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板