如果你这样做
var parsed = JSON.parse('{"myNum":0.0}') ;
然后,当您看着时parsed.myNum,您就会得到0。(很公平。)
parsed.myNum
0
如果这样做parsed.myNum.toString(),您会得到"0"。
parsed.myNum.toString()
"0"
基本上,我正在寻找一种将其转换为string的方法"0.0"。
"0.0"
显然,在现实生活中,我无法控制JSON输入,而是从Web服务获取JSON …我想使用浏览器的JSON解析器解析JSON,并能够识别数字值0和0.0。
0.0
除了手动读取JSON字符串外,还有什么方法可以做到这一点?在这种情况下,这实际上是不可能的,为了提高速度,我需要使用浏览器的本机JSON解析器。(顺便说一下,这是针对Chrome扩展程序;无需担心它在其他浏览器中的运行。)
无法从JSON.parse或获得数字位数eval。即使EcmaScript委员会采用了IBM的十进制提议,该数字仍将解析为IEEE 754浮点数。
JSON.parse
eval
看一下http://code.google.com/p/json-sans- eval/source/browse/trunk/src/json_sans_eval.js,以获取可以修改以保留精度信息的简单JSON解析器。