首页 > 后端开发 > Golang > 如何将 JSON 映射数组解析为 Go 结构?

如何将 JSON 映射数组解析为 Go 结构?

Barbara Streisand
发布: 2024-12-14 00:10:09
原创
861 人浏览过

How Do I Parse JSON Arrays of Maps into Go Structs?

将 JSON 数组解析为 Go 数据结构

处理包含数组的 JSON 数据时,选择合适的 Go 数据结构可能具有挑战性解析成.例如,如果一个文件包含一个键值对数组,则尝试使用 map[string]string 可能会导致类似“无法将数组解组为 main.data 类型的 Go 值”之类的错误。

解决方案在于准确识别JSON结构。虽然提供的示例看起来是一个数组,但它实际上是一个地图数组。该文件应类似于以下内容以匹配 map[string]string 结构:

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

考虑以下代码片段,演示将映射数组解析为 Go 结构:

package main

import (
    "encoding/json"
    "fmt"
    "io/ioutil"
    "log"
)

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)
}
登录后复制

当您使用有效的 JSON 文件运行此代码时,它将成功将数据解析为所需的结构,从而使您能够访问数组中的键值对。

以上是如何将 JSON 映射数组解析为 Go 结构?的详细内容。更多信息请关注PHP中文网其他相关文章!

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