在javascript中转义json

Raj*_*mar 2 javascript json escaping

需要转义以下json

{
    "xx": 'a',
    "yy": "bb"
}
Run Code Online (Sandbox Code Playgroud)

在javascript中进入以下结构

{\r\n\t\"xx\": 'a',\r\n\t\"yy\": \"bb\"\r\n}
Run Code Online (Sandbox Code Playgroud)

我已经尝试过此链接中的代码建议,如何使用 JavaScript 转义包含换行符的 JSON 字符串?

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");
Run Code Online (Sandbox Code Playgroud)

但没有用,请帮忙。

代码必须像下面这样转义

  • 退格被替换为 \b
  • 换页替换为 \f
  • 换行符替换为 \n
  • 回车被替换为 \r
  • Tab 被替换为 \t
  • 双引号替换为\"
  • 反斜杠被替换为\

Kei*_*ith 5

不知道你为什么要这样做,但 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);
Run Code Online (Sandbox Code Playgroud)