javascript中的转义json

javascript中的转义json,javascript,json,escaping,Javascript,Json,Escaping,需要转义以下json { "xx": 'a', "yy": "bb" } 进入javascript中的以下结构 {\r\n\t\"xx\": 'a',\r\n\t\"yy\": \"bb\"\r\n} 我已经尝试了这个链接中的代码建议 但不起作用,请帮忙 代码必须像下面这样转义 退格被替换为\b 表单提要已替换为\f 换行符已替换为\n 回车符已替换为\r\n 选项卡被替换为\t 双引号替换为\“ 反斜杠替换为\ var a={ “xx”:“aa”, “yy”:“bb”

需要转义以下json

{
    "xx": 'a',
    "yy": "bb"
}
进入javascript中的以下结构

{\r\n\t\"xx\": 'a',\r\n\t\"yy\": \"bb\"\r\n}
我已经尝试了这个链接中的代码建议

但不起作用,请帮忙

代码必须像下面这样转义

  • 退格被替换为\b
  • 表单提要已替换为\f
  • 换行符已替换为\n
  • 回车符已替换为\r\n
  • 选项卡被替换为\t
  • 双引号替换为\“
  • 反斜杠替换为\
var a={
“xx”:“aa”,
“yy”:“bb”
}
var nA=JSON.stringify(a,null,“\r\t”);
var nB=JSON.stringify(nA);
控制台日志(nB)
document.getElementById(“showData”).value=JSON.parse(nB);
var a={
“xx”:“aa”,
“yy”:“bb”
}
var nA=JSON.stringify(a,null,“\r\t”);
var nB=JSON.stringify(nA);
控制台日志(nB)
document.getElementById(“showData”).value=JSON.parse(nB);

不确定为什么要这样做,但stringify正是这样做的,没有正则表达式或任何花哨的东西,…只需stirngify您的JSON字符串

我还删去了引语

var请求={
“xx”:“aaa”,
“yy”:“bb”
}
var myJSONString=JSON.stringify(请求,null,2);
var myEscapedJSONString=JSON.stringify(myJSONString.slice)(1,-1);

log(myEscapedJSONString);
不确定为什么要这样做,但stringify正是这样做的,没有正则表达式或任何花哨的东西,…只需stirngify您的JSON字符串

我还删去了引语

var请求={
“xx”:“aaa”,
“yy”:“bb”
}
var myJSONString=JSON.stringify(请求,null,2);
var myEscapedJSONString=JSON.stringify(myJSONString.slice)(1,-1);


console.log(myEscapedJSONString);
您尝试的代码在哪里?您能告诉我您想要这样做的原因吗?可能有更好的方法来实现这一点。像这样序列化它,会在解析时引起问题。我在我的代码中尝试过这一点,var myJSONString=JSON.stringify(请求);var myEscapedJSONString=myJSONString.replace(/\\n/g,“\\n”).replace(/\\'/g,“\\'”).replace(/\\\&/g,“\\\&”).replace(/\\r/g,“\\r”).replace(/\\t/g,“\\t”).replace(/\\b/g,“\\b”).replace(/\\\f/g,“\\f”);请求将包含上述给定的json结构{“xx”:“aaa”,“yy”:“bb”}@RajeshKumar我支持Dhananjai所说的。可能有更好的解决方案来解决您的问题,为什么要这样做?@Marie-需要将转义的json作为请求发送到API服务您尝试的代码在哪里?您能告诉我您希望这样做的原因吗?可能有更好的方法来实现这一点。像这样序列化它,会导致问题我在我的代码中尝试过这个,var myJSONString=JSON.stringify(请求);var myEscapedJSONString=myJSONString.replace(/\\n/g,“\\n”).replace(/\'/g,“\'”).replace(/\'/g,“\'”).replace(/\\&/g,“\\r”).replace(/\\\t/g,“\\t”).replace(/\\\\\\'/g,“\\b”).replace(/\\\f/g,“\\f”);请求将包含上述给定的json结构{“xx”:“aaa”,“yy”:“bb”}@RajeshKumar我附议Dhananjai所说的。可能有更好的解决方案来解决您的问题,为什么要这样做?@Marie-需要将转义json发送到API服务作为请求这不是预期的结果。此外,此代码在很多情况下都会中断,例如,
{foo:{bar}
。同样的限制仍然适用。@str,首先,来自OP提到的请求的JSON是有效的。第二件事是:replace将找到第一个匹配的元素。因此,第一条语句没有问题。第二,replace将始终检查最后一个元素,就像我使用regex一样。OP的输出包含空格,doe不是。@Hardik-谢谢你的代码,请检查我更新的问题,你可以更好地理解我需要什么。这不是预期的结果。此外,此代码在很多情况下都会中断,例如,
{“foo”:“{bar}”
。同样的限制仍然适用。@str,首先,来自OP提到的请求的JSON是有效的。第二件事是:replace将找到第一个匹配的元素。因此,第一条语句没有问题。第二,replace将始终检查最后一个元素,就像我使用regex一样。OP的输出包含空格,does不是。@Hardik-谢谢你的代码,请检查我更新的问题,你可以更好地理解我的需要。谢谢你的建议,请检查更新的问题以更好地理解我的要求,我需要将转义的json作为请求发送给API服务谢谢你的建议,请检查更新的问题以获得更好的理解为了理解我的需求,我需要将转义的json作为请求发送给API服务
var request = {
  "xx": "aaa",
  "yy": "bb"
}
var myJSONString = JSON.stringify(request);
var myEscapedJSONString = myJSONString.replace(/\\n/g, "\\n").replace(/\\'/g, "\\'").replace(/\\"/g, '\\"').replace(/\\&/g, "\\&").replace(/\\r/g, "\\r").replace(/\\t/g, "\\t").replace(/\\b/g, "\\b").replace(/\\f/g, "\\f");