Javascript 如何生成带有转义字符的json字符串
我有一个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\"}.
{"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问题。请证明你的陈述——在这个问题的上下文中,使用字符串替换手动执行此操作是有问题的,并且容易出现错误。这不会产生请求的结果。这不会产生请求的结果。