考虑一个包含数组的 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中文网其他相关文章!