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

如何在 Go 中使用动态键解组 JSON?

DDD
发布: 2024-12-11 02:58:09
原创
627 人浏览过

How Can I Unmarshal JSON with a Dynamic Key in Go?

使用 Go 在 JSON 中进行动态键解组

使用 JSON 数据时,如果满足以下条件之一,则将其解组为结构体可能会很困难:键是动态的,不能直接映射到结构中的字段名称。为了解决这个问题,可以在 Golang 中找到一个实用的解决方案。

给定一个定义的结构体:

type X struct {
  A string `json:"a_known_string"`
  B string `json:"b_known_string"`
}
登录后复制

和一个示例 JSON 字符串:

{
  "any string": {
    "a_known_string": "some value",
    "b_known_string": "another value"
  }
}
登录后复制

来捕获JSON 中的已知键和动态键都可以使用映射:

var m map[string]X
err := json.Unmarshal([]byte(jsnStr), &m)
登录后复制

此方法允许在单个动态键下存储多个对象,提供数据处理的灵活性。

可以在[此处](https://play.golang.org/p/jh-GAlUEo7n)找到示例游乐场。

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

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