首页 > 后端开发 > Golang > 如何在 Go 中使用动态顶级键解析 JSON?

如何在 Go 中使用动态顶级键解析 JSON?

Patricia Arquette
发布: 2024-12-30 22:49:14
原创
831 人浏览过

How to Parse JSON with Dynamic Top-Level Keys in Go?

Golang 中使用动态键进行 JSON 解析

在 Golang 中,使用动态顶级键解析 JSON 字符串可能具有挑战性。考虑以下 JSON:

{"bvu62fu6dq": {
    "name": "john",
    "age": 23,
    .....
    .....}
登录后复制

要提取“姓名”和“年龄”的值,需要自定义解决方案,因为顶级键不是固定字段。

使用 Go 结构体和映射

最佳方法是定义一个结构体来表示内部对象,并定义一个映射来表示动态顶级键。该结构应包含所需属性的字段,例如:

type Person struct {
    Name string `json:"name"`
    Age  int    `json:"age"`
}
登录后复制

映射又可以使用动态顶级键作为键,使用 Person 结构作为值。此结构允许高效访问所需值:

type Info map[string]Person
登录后复制

解码和提取

要将 JSON 解码为自定义结构,请使用 json.Unmarshal 函数。解码后,可以通过映射键访问这些值:

var info Info
json.Unmarshal([]byte(j), &info)
fmt.Printf("%s: %d\n", info["bvu62fu6dq"].Name, info["bvu62fu6dq"].Age)
登录后复制

这种方法提供了一种灵活且可扩展的方法来使用动态顶级键处理 JSON,确保轻松访问所需的属性。

以上是如何在 Go 中使用动态顶级键解析 JSON?的详细内容。更多信息请关注PHP中文网其他相关文章!

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