如果你这样做...
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(使用前将#替换为@)