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