需要转义下面的json
{
"xx": 'a',
"yy": "bb"
}
在 JavaScript 中插入以下结构
{\r\n\t\"xx\": 'a',\r\n\t\"yy\": \"bb\"\r\n}
我已尝试此链接中的代码建议,How to escape a JSON string containing newline characters using JavaScript?
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");
但没有成功,请帮忙。
代码必须像下面这样转义
- 退格键替换为\b
- 换页符替换为\f
- 换行符替换为\n
- 回车符替换为\r
- 制表符替换为\t
- 双引号替换为\"
- 反斜杠替换为\
最佳答案
不知道你为什么要这样做,但 stringify 正是这样做的,没有正则表达式或任何花哨的东西,..只是搅拌你的 JSON 字符串。
我还把引号切掉了..
var request = {
"xx": "aaa",
"yy": "bb"
}
var myJSONString = JSON.stringify(request, null, 2);
var myEscapedJSONString = JSON.stringify(myJSONString).slice(1, -1);
console.log(myEscapedJSONString);
关于javascript - 在 JavaScript 中转义 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51557440/