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

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

Patricia Arquette
Patricia Arquette原创
2024-12-30 22:49:14863浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn