为什么Python json模块将字典键中的浮点数表示为字符串?
请参阅以下代码:
>>> import json
>>> m = {}
>>> m[0.0] = 1.0
>>> json.dumps(m)
'{"0.0": 1.0}'
在 JSON 的值中,我们有 1.0.0。但在密钥中我们有“0.0”(一个 Json 字符串)。
这种对浮点数的模糊处理只会花费我一些调试时间。有谁知道为什么 python 的 json 模块会这样做?
See the following code:
>>> import json
>>> m = {}
>>> m[0.0] = 1.0
>>> json.dumps(m)
'{"0.0": 1.0}'
In the value of the JSON, we have 1.0. But in the key we have "0.0" (a Json string).
This ambiguous handling of floats just cost me some debugging time. Does anyone know why python's json module does this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
因为 JSON 键必须是字符串。请参阅 RFC。
Because a JSON key must be a string. See the RFC.