我正在尝试使用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