3

由于 JavaScript 对所有数字都使用浮点数学,这在所有情况下都不能保持精度,所以我想解析一个包含数字的 JSON 对象,但在返回的 JavaScript 对象而不是数字对象中生成字符串。有没有办法使用标准或第三方库来做到这一点?

4

2 回答 2

0

您可以尝试正则表达式,例如:

 var numstrings = JSON.parse(json.replace(/\:([0-9.]+)(,?)/g,':\"$1\"$2'));

http://jsfiddle.net/rmwcZ/

于 2012-08-16T12:19:59.120 回答
0

你可以做这样的事情。这可能不是一个完美的解决方案(尤其是 reg 表达式),但希望它能帮助您解决这个问题。

var json = '{"num1":123.89075576575775676575, "num2":89.5564764646476444844, "num3":56.4353454354353535435435435}';

json = json.replace(/\d+.\d+/g, function(a, b){ 
    return '\"' + a + '\"';
});

console.log($.parseJSON(json )); // I have used jQuery. Any JSON parser can be used
于 2012-08-16T12:32:07.907 回答