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

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

DDD
DDD原创
2024-12-11 02:58:09585浏览

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

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