首页 >后端开发 >Golang >如何将多种数据类型(字符串和整数)分配给 Go Map 以进行 JSON 封送?

如何将多种数据类型(字符串和整数)分配给 Go Map 以进行 JSON 封送?

Linda Hamilton
Linda Hamilton原创
2024-12-12 12:33:25363浏览

How Can I Assign Multiple Data Types (String and Integer) to a Go Map for JSON Marshaling?

为 JSON 对象的字符串分配多种类型

Q: 寻求一种方法来构造一个映射,该映射可以转换为具有两个字符串的 JSON 对象和整数值,例如:

{
   "a": "apple",
   "b": 2
}

但是,Go 要求类型指定地图,为开发人员提供诸如 map[string]string 或 map[string]int 之类的选项。

A: 利用 Go 的 interface{} 类型来存储任意数据类型。如encoding/json包中所述:

When JSON unmarshals into an interface value, it stores appropriate concrete types based on the JSON content:

- bool for booleans
- float64 for numbers
- string for strings
- []interface{} for arrays
- map[string]interface{} for objects
- nil for null

要实现此解决方案:

m := map[string]interface{}{"a":"apple", "b":2}

以上是如何将多种数据类型(字符串和整数)分配给 Go Map 以进行 JSON 封送?的详细内容。更多信息请关注PHP中文网其他相关文章!

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