首页 > 后端开发 > Golang > Go 的'encoding/json”可以将部分 Unmarshal JSON 打包到 Map 中吗?

Go 的'encoding/json”可以将部分 Unmarshal JSON 打包到 Map 中吗?

DDD
发布: 2024-12-29 04:27:13
原创
650 人浏览过

Can Go's `encoding/json` Package Partially Unmarshal JSON into a Map?

在 Go 中将 JSON 部分解组到 Map

问题:

考虑一个场景,其中Go 服务器接收封装在带有键/值对的对象中的 JSON 数据。每个键对应一个特定类型的值,服务器需要根据键将值解组为适当的结构类型。问题是,可以使用“encoding/json”包来实现吗?

解决方案:

为了实现这一点,我们可以将 JSON 数据部分解组为键值对的映射,其中键是字符串,值是 json.RawMessage 实例。 RawMessage 表示未处理的 JSON 数据,允许我们将其进一步解组为特定的结构或类型。

以下是演示代码:

示例用法:

在上面的示例中,JSON 数据首先被解组为地图[字符串]json.RawMessage。然后,为了解析像 sendMsg 这样的特定值,我们可以进一步将相应的 RawMessage 解组到程序中定义的结构体中。

这种技术可以灵活高效地处理具有多个键值对的 JSON 数据,其中值可以根据键被解组为不同的类型。

以上是Go 的'encoding/json”可以将部分 Unmarshal JSON 打包到 Map 中吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

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