为什么Python json模块将字典键中的浮点数表示为字符串?

发布于 2024-10-29 08:42:52 字数 269 浏览 1 评论 0原文

请参阅以下代码:

>>> 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

撩心不撩汉 2024-11-05 08:42:52

因为 JSON 键必须是字符串。请参阅 RFC

Because a JSON key must be a string. See the RFC.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文