如何使用 JSON.parse() 维护数据完整性



我正在尝试使用JSON.parse(response)解析数据,但该函数正在删除尾随零,因为我的数据是数字而不是Strings。我对传入的数据没有任何控制权,我需要一种方法来保持零。

像这样:

{"name":"apples","price":15.40 }

返回15.4 。有没有办法使用 JSON.parse() 来做到这一点?

parseFloat(15.4).toFixed(2); //15.40 

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed

JSON.parse() 函数还有一个参数(reviver)。它是控制如何转换解析数据的功能。以便您可以将price属性转换为格式化字符串:

var data = '{"name":"apples","price":15.4 }';
var parsed = JSON.parse(data, function(key, value) {
    if (key === 'price') {
        return parseFloat(value).toFixed(2);
    }
    return value;
});
console.log(parsed.price); // 15.40

最新更新