如何在JSON.stringify()

时间:2017-01-12 22:40:21

标签: javascript json string parsing numbers

我尝试使用JSON.stringify()将某些值解析为JSON格式。 amount是一个字符串变量。我希望JSON格式的最终​​值为数字,但我目前的方式不起作用。它仍然在"price":"1.00"之后显示为JSON.stringify()。如何确保JSON中的最终值是一个数字?谢谢你的帮助!

我目前的代码:

var data = JSON.stringify({
 "payer": "a cat",     
 "price": parseFloat(amount).toFixed(2),

});

4 个答案:

答案 0 :(得分:5)

toFixed返回一个字符串。如果要输出数字,只需使用parseFloat

JSON.stringify({
  "payer": "a cat",
  "price": parseFloat(amount)
});

我认为有一种方法可以将数字输出到小数点后的任何精度而不将其转换为字符串。

答案 1 :(得分:0)

我有同样的问题,创建随机浮点数,这是我的解决方案:

// Create a random float number between 10 and 120, with only 2 decimal place
var number = Math.floor((Math.random()*110+10)*100)/100

所以仍然是一个浮动值,带有2位小数,也是在JSON.stringify()

之后

答案 2 :(得分:0)

我认为Number()也可以使用

差异为here。我在JSON.stringify中都使用过

var data = JSON.stringify({
  "payer": "a cat",
  "price": Number(amount)
});

答案 3 :(得分:0)

这种方式对我有用。

function replace(key, value) {
  if (typeof value != "object") {
    let change = parseFloat(value);
    return change;
  }
  return value;
}

const msg = JSON.stringify(params, replace);`

Params 是一个包含查询参数的变量。