在JavaScript中,是否有一种解析JSON的方法可以将数字转换为字符串?

时间:2012-08-16 12:05:55

标签: javascript json floating-point

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

2 个答案:

答案 0 :(得分:0)

您可以尝试使用regexp,例如:

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

http://jsfiddle.net/rmwcZ/

答案 1 :(得分: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