将字符串映射到 JSON 对象中的多种类型
在 Go 中,映射需要显式指定其键和值类型。在处理允许任意类型的键值对的 JSON 对象时,此限制会带来障碍。
问题:
我们如何创建一个可以转换为 { "a": "apple", "b": 2 } 形式的 JSON 对象,其中键和值可以不同类型?
答案:
Go 通过其 interface{} 类型提供了解决方案,它可以保存任何类型的值。根据encoding/json包文档,将JSON解组到接口{}时,适用以下规则:
要利用它,我们可以简单地创建一个map[string]interface{}并用不同类型的值填充它:
m := map[string]interface{}{"a":"apple", "b":2}
This现在可以通过使用 json.Marshal() 函数将 map 编组,轻松将其转换为 JSON 对象。
以上是如何将字符串映射到 Go JSON 对象中的各种类型?的详细内容。更多信息请关注PHP中文网其他相关文章!