gpt4 book ai didi

json - 无法使用非字符串键进行 json.marshal 映射

转载 作者:IT王子 更新时间:2023-10-29 00:35:11 27 4
gpt4 key购买 nike

我想将 map[int]string 转换为 json,所以我认为 json.Marshal() 可以解决问题,但它没有说不受支持的类型 map[int]string。但是,如果我将 map 与键字符串一起使用,它就可以正常工作。

http://play.golang.org/p/qhlS9Nt8qQ

稍后在检查编码器代码时,会明确检查键是否不是字符串并返回 UnsupportedTypeError...

为什么我什至不能使用基元作为键?如果 json 标准不允许非字符串键,难道 json.Marshal 不应该将原语转换为字符串并将它们用作键吗?

最佳答案

这不是因为 Go,而是因为 Json:Json 不支持除键以外的任何字符串。

看看Json的语法:

pair
string : value
string
""
" chars "

完整的语法可以在 Json website 上找到。 .

不幸的是,要使用整数作为键,您必须事先将它们转换为字符串,例如使用 strconv.Itoa:这不是由 json 包来做这项工作。

关于json - 无法使用非字符串键进行 json.marshal 映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24284612/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com