我有一个我正在创建的对象,如下所示:
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" ?
答案 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);
你可以查看我创建的小提琴。