在 Golang 中,使用动态顶级键解析 JSON 字符串可能具有挑战性。考虑以下 JSON:
{"bvu62fu6dq": { "name": "john", "age": 23, ..... .....}
要提取“姓名”和“年龄”的值,需要自定义解决方案,因为顶级键不是固定字段。
最佳方法是定义一个结构体来表示内部对象,并定义一个映射来表示动态顶级键。该结构应包含所需属性的字段,例如:
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中文网其他相关文章!