首页 > 后端开发 > Golang > 如何将字符串映射到 Go JSON 对象中的各种类型?

如何将字符串映射到 Go JSON 对象中的各种类型?

Barbara Streisand
发布: 2024-12-14 12:05:11
原创
772 人浏览过

How to Map Strings to Diverse Types in Go JSON Objects?

将字符串映射到 JSON 对象中的多种类型

在 Go 中,映射需要显式指定其键和值类型。在处理允许任意类型的键值对的 JSON 对象时,此限制会带来障碍。

问题:

我们如何创建一个可以转换为 { "a": "apple", "b": 2 } 形式的 JSON 对象,其中键和值可以不同类型?

答案:

Go 通过其 interface{} 类型提供了解决方案,它可以保存任何类型的值。根据encoding/json包文档,将JSON解组到接口{}时,适用以下规则:

  • 布尔值存储为bool。
  • 数字存储为float64 .
  • 字符串存储为字符串。
  • 数组存储为[]interface{}.
  • 对象存储为map[string]interface{}。
  • 空值存储为nil。

要利用它,我们可以简单地创建一个map[string]interface{}并用不同类型的值填充它:

m := map[string]interface{}{"a":"apple", "b":2}
登录后复制

This现在可以通过使用 json.Marshal() 函数将 map 编组,轻松将其转换为 JSON 对象。

以上是如何将字符串映射到 Go JSON 对象中的各种类型?的详细内容。更多信息请关注PHP中文网其他相关文章!

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