使用JSON.stringify引用值

时间:2016-08-25 16:49:48

标签: javascript json stringify

我有一个我正在创建的对象,如下所示:

http://sqlhost/ReportServer_Report2016?/Rentals/Balance%20Overview&rs:Format=Excel

然而,我需要" p"此对象中的值将用引号括起来。原样只是打印出没有引号的值。

我尝试通过以下方式转义引号字符:

let outputOut = {
    "_id": id[i],
    "regNum": code[i],
    "sd": sd[i],
    "pd": ptOut,
    "p": p[i],
...}
//output 
fs.writeFile('./output/file.json', JSON.stringify(output, null, 2), 'utf-8');

结果与this类似,我也试过这样做:

"p": "\"" + p[i] + "\"'",

哪个输出this

如何将 p 值包装在引号中,即:" 139500000" ?

3 个答案:

答案 0 :(得分:1)

  

我需要" p"此对象中的值用引号括起来。

换句话说,您希望这些值为字符串。 JSON中的字符串表示为"..."。似乎p[i]是一个数字。您可以通过调用String(x)x.toString()

将值显式转换为字符串
"p": String(p[i]),

答案 1 :(得分:1)

字符串值属性将字符串化为字符串,即带引号。

let outputOut = {
    "_id": id[i],
    "regNum": code[i],
    "sd": sd[i],
    "pd": ptOut,
    "p": String(p[i]),
         ^^^^^^^^^^^^
...}

另一个想法是将replacer参数用于JSON.stringify

JSON.stringify(output, function(key, value) {
  if (key === 'p') value = String(value);
  return value;
});

答案 2 :(得分:-1)

这对我有用。

var value = 1023;

var p = '\"'+ value + '\"';
console.log(p);

你可以查看我创建的小提琴。

https://jsfiddle.net/Refatrafi/1dkhjpjw/