当前位置: 首页 > 知识库问答 >
问题:

javascript中的逃脱json

胡星汉
2023-03-14

需要转义以下json

{
    "xx": 'a',
    "yy": "bb"
}

在javascript中进入以下结构

{\r\n\t\"xx\": 'a',\r\n\t\"yy\": \"bb\"\r\n}

我尝试了这个链接中的代码建议,如何使用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");

但不起作用,请帮忙。

代码必须按如下方式转义

  • 退格替换为\b
  • 换页被替换为
  • 换行符替换为
  • 回车替换为
  • 标签被替换为
  • 双引号替换为\“
  • 反斜杠替换为\

共有2个答案

长孙鸿波
2023-03-14
js prettyprint-override">var a= {
  "xx": "aa",
  "yy": "bb"
}

var nA = JSON.stringify(a, null, "\r\t");
var nB = JSON.stringify(nA);
console.log(nB)

document.getElementById("showData").value = JSON.parse(nB);
<textarea id="showData" rows="10" cols="20"></textarea>
仲孙英才
2023-03-14

不知道你为什么要这样做,但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);
 类似资料:
  • 问题内容: 我正在使用JSON.stringify吗?对一个对象进行字符串化处理,但是引号不能转义?我是否误解了它认为应该避免引用? 这被输出到模板中,没有任何引号被转义: 问题答案: 属性名称周围的引号不应转义,只能在字符串内使用引号。您的JSON很好:)

  • 问题内容: 当我尝试在TOAD中插入一个带有’&’的值时,提示输入替换变量。 所以当我尝试: 它会提示您替换变量“ world”。 我尝试在编辑器中右键单击并禁用替换变量的提示,但这似乎仅适用于Execute Statement(),不适用于Execute as script()。 我也知道使用像: 但是我不想要这个。还有其他可以帮助我运行脚本的内容吗? 问题答案: 尝试将其放在脚本的开头。它应该

  • 这些基本上是特殊字符或转义字符。 正则表达式中的反斜杠字符(\)表示其后面的字符是特殊字符或应按字面解释。 下表列出了转义字符 - 逃脱的角色 描述 图案 火柴 \a 匹配一个铃铛角色,\ u0007。 \a “警告!”中的“\ u0007” +'\ u0007' \b 在字符类中,匹配退格键\ u0008。 [\b]{3,} “\ b\b\b\b”中的“\ b\b\b\b” \t 匹配选项卡\

  • 这些基本上是特殊字符或转义字符。 正则表达式中的反斜杠字符(\)表示其后面的字符是特殊字符或应按字面解释。 下表列出了转义字符 - 逃避角色 描述 图案 火柴 \a 匹配一个铃铛角色,\ u0007。 \a “警告!”中的“\ u0007” +'\ u0007' \b 在字符类中,匹配退格键\ u0008。 [\b]{3,} “\ b\b\b\b”中的“\ b\b\b\b” \t 匹配选项卡\ u

  • 问题内容: 从dbms中,我得到类似的信息。当它到达我的xhtml文件中时,输出将被清理。对于所有案例的99,999%来说,这是一个很好的选择。 问题:有什么方法可以禁用此自动转义功能吗? 奖励问题:我可以只允许html而不允许javascript吗? 问题答案: https://docs.oracle.com/javaee/7/javaserver-faces-2-2/vdldocs- face

  • 问题内容: 我是ElasticSearch的新手,对停用词有疑问。我有一个索引,其中包含美国的州名。例如:纽约/纽约州,加利福尼亚/加拿大,俄勒冈州/俄勒冈州。我相信俄勒冈州的缩写“ OR”是一个停用词,因此当我将状态数据插入索引时,无法搜索“ OR”。有什么办法可以为此设置自定义停用词,还是我做错了什么? 这是我建立索引的方式: 搜索“ NY”,效果很好。例如: 但是搜索“ OR”会返回零命中: