Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何生成带有转义字符的json字符串_Javascript_Json - Fatal编程技术网

Javascript 如何生成带有转义字符的json字符串

Javascript 如何生成带有转义字符的json字符串,javascript,json,Javascript,Json,我有一个json字符串 {"eID":"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX","cID":"XXXXXXXXXX-XXXXC-XXXX-XXXX-XXXXXXX"}. 我通过字符串化JSON获得了这一点。但我需要JSON文件的格式,其中每个键和值都有转义字符,如 {\"eID\":\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX\",\"cID\":\"XXXXXXXXXX-XXXXC-XXXX-XXXX-XXXXXXX\"}.

我有一个json字符串

{"eID":"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX","cID":"XXXXXXXXXX-XXXXC-XXXX-XXXX-XXXXXXX"}. 
我通过字符串化JSON获得了这一点。但我需要JSON文件的格式,其中每个键和值都有转义字符,如

{\"eID\":\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX\",\"cID\":\"XXXXXXXXXX-XXXXC-XXXX-XXXX-XXXXXXX\"}. 

如何在JavaScript中实现这一点?

您可以再次进行字符串化

var string='{“eID”:“XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX”,“cID”:“xxxxxxxxx-XXXXC-XXXX-XXXX-XXXXXXX”};

log(JSON.stringify(string))您可以再次字符串化

var string='{“eID”:“XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX”,“cID”:“xxxxxxxxx-XXXXC-XXXX-XXXX-XXXXXXX”};

log(JSON.stringify(string))
如果您想用\“替换,只需在字符串化值上替换(/“/g,\\\”)

var obj={
“eID”:“XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX”,
“cID”:“xxxxxxxxx-XXXXC-XXXX-XXXX-XXXX-XXXXXXX”
};

log(JSON.stringify(obj.replace(/“/g,\ \ \”))
如果您想用\“替换,只需在字符串化值上替换(/“/g,\\\”)

var obj={
“eID”:“XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX”,
“cID”:“xxxxxxxxx-XXXXC-XXXX-XXXX-XXXX-XXXXXXX”
};
log(JSON.stringify(obj.replace(/“/g,\ \ \”))您可以使用“JSON.stringify(your_JSON)”将JSON解析为纯文本

var json={“eID”:“XXXXXXXX-XXXX-XXXX-XXXX-xxxxxxxxxxxx”,“cID”:“xxxxxxxxx-XXXXC-XXXX-XXXX-XXXXXXX”};
document.getElementById('result').innerText=JSON.stringify(JSON)
您可以使用“JSON.stringify(your_JSON)”将JSON解析为纯文本

var json={“eID”:“XXXXXXXX-XXXX-XXXX-XXXX-xxxxxxxxxxxx”,“cID”:“xxxxxxxxx-XXXXC-XXXX-XXXX-XXXXXXX”};
document.getElementById('result').innerText=JSON.stringify(JSON)

那是第二个。你又赢了我,那是第二次。你又打败我了。@dear downvoter-请留下一条关于如何改进这个答案的评论。OP真正需要的(尽管他们可能不知道)是将值进行双重JSON编码,这一点似乎很清楚。如果是这样的话,字符串替换是一种糟糕的方法。@jlRise我的代码的输出与OP所需的输出完全匹配。不知道你的意思,尽管他们可能不知道。你说正则表达式是什么意思?“我的代码的输出与OP所需的输出完全匹配”是的,它适用于这个非常有限的示例。我认为你错过了大局。“不知道你的意思,尽管他们可能不知道。”我的意思是OP问的是一个X是如何对JSON字符串进行JSON转义的地方,Y是“如何转义这些引号?”“regex是一个糟糕的方法吗?”有很多行之有效的JSON转义方法。使用字符串替换手动执行此操作是有问题的,并且容易出现错误。@JLR由于OP提出的问题非常简单且有局限性,因此此处不涉及全局。除非OP提出后续问题,否则此操作有效,但……您是否也能建议……?,无法判断这是否是XY问题。请证明您的说法是正确的-在这个问题的上下文中,使用字符串替换手动执行此操作是有问题的,并且容易出现错误。@亲爱的downvoter-请就如何改进此答案发表评论。OP实际需要(尽管他们可能不知道)的是将JSON编码值加倍。如果是这样的话,字符串替换是一种糟糕的方法。@jlRise我的代码的输出与OP所需的输出完全匹配。不知道你的意思,尽管他们可能不知道。你说正则表达式是什么意思?“我的代码的输出与OP所需的输出完全匹配”是的,它适用于这个非常有限的示例。我认为你错过了大局。“不知道你的意思,尽管他们可能不知道。”我的意思是OP问的是一个X是如何对JSON字符串进行JSON转义的地方,Y是“如何转义这些引号?”“regex是一个糟糕的方法吗?”有很多行之有效的JSON转义方法。使用字符串替换手动执行此操作是有问题的,并且容易出现错误。@JLR由于OP提出的问题非常简单且有局限性,因此此处不涉及全局。除非OP提出后续问题,否则此操作有效,但……您是否也能建议……?,无法判断这是否是XY问题。请证明你的陈述——在这个问题的上下文中,使用字符串替换手动执行此操作是有问题的,并且容易出现错误。这不会产生请求的结果。这不会产生请求的结果。