【发布时间】:2018-07-27 11:56:19
【问题描述】:
需要对下面的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
- 双引号替换为\"
- 反斜杠替换为 \
【问题讨论】:
-
您尝试的代码在哪里?
-
你能说出你想要这个的原因吗?可能有更好的方法来实现这一点。像这样序列化它,会导致解析时出现问题。
-
我已经在我的代码中尝试过这个,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");请求将包含上面给定的 json 结构 { "xx": "aaa", "yy": "bb" }
-
@RajeshKumar 我支持 Dhananjai 所说的话。您的问题可能有更好的解决方案,您为什么要这样做?
-
@Marie - 需要将转义的 json 作为请求发送到 API 服务
标签: javascript json escaping