我想将a转换map[int]string为json,所以我想json.Marshal()可以解决这个问题,但是它说不支持type失败map[int]string。但是,如果我使用map带键字符串,它可以正常工作。
map[int]string
json
json.Marshal()
map
http://play.golang.org/p/qhlS9Nt8qQ
稍后在检查编组代码时,将进行显式检查,以查看键是否不是字符串并返回UnsupportedTypeError…
UnsupportedTypeError
为什么什至不能使用基元作为键?如果json标准不允许非字符串键,是否不应该json.Marshal将原语转换为字符串并将其用作键?
json.Marshal
这不是因为Go,而是因为Json:Json除了键字符串以外,不支持其他任何功能。
看看Json的语法:
pair string : value string "" " chars "
完整的语法可在Json网站上找到。
不幸的是,要使用整数作为键,您必须事先将它们转换为字符串,例如,使用strconv.Itoa:并非由json软件包来完成此工作。
strconv.Itoa