如何防止解析JSON时去掉小数点?

2023-12-22

如果你这样做...

var parsed = JSON.parse('{"myNum":0.0}') ;

然后当你看parsed.myNum,你就得到了0。 (很公平。)

如果你这样做parsed.myNum.toString(), 你得到"0".

基本上,我正在寻找一种方法将其转换为字符串"0.0".

显然,在现实生活中我无法控制 JSON 输入,我从 Web 服务获取 JSON...我想使用浏览器的 JSON 解析器解析 JSON,并能够识别数值之间的差异0 and 0.0.

除了手动读取 JSON 字符串之外,还有什么方法可以做到这一点吗?在这种情况下这实际上是不可能的,为了速度,我需要使用浏览器的本机 JSON 解析器。 (顺便说一句,这是针对 Chrome 扩展程序的;无需担心它在其他浏览器中的工作情况。)


无法从中获取位数JSON.parse or eval。即使 IBM 的十进制提案已被 EcmaScript 委员会采纳,该数字仍将被解析为 IEEE 754 浮点数。

看看一个http://code.google.com/p/json-sans-eval/source/browse/trunk/src/json_sans_eval.js http://code.google.com/p/json-sans-eval/source/browse/trunk/src/json_sans_eval.js对于一个简单的 JSON 解析器,您可以修改它以保留精度信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何防止解析JSON时去掉小数点? 的相关文章