一尘不染

解析JSON时如何防止删除小数点?

json

如果你这样做

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

然后,当您看着时parsed.myNum,您就会得到0。(很公平。)

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

基本上,我正在寻找一种将其转换为string的方法"0.0"

显然,在现实生活中,我无法控制JSON输入,而是从Web服务获取JSON
…我想使用浏览器的JSON解析器解析JSON,并能够识别数字值00.0

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


阅读 424

收藏
2020-07-27

共1个答案

一尘不染

无法从JSON.parse或获得数字位数eval。即使EcmaScript委员会采用了IBM的十进制提议,该数字仍将解析为IEEE 754浮点数。

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

2020-07-27