何时何地使用\\\"
来代替。好吧,如果你像我一样,你会感觉和我在发现这个主题后意识到自己在做什么时一样愚蠢。
如果您正在制作.json文本文件/流并从那里导入数据,那么在双引号之前只有一个反斜杠的主流答案:\"
是您正在寻找的那个。
但是,如果你和我一样,而你试图让w3schools.com的“Tryit Editor”在JSON.parse(文本)的输出中有一个双引号,那么你正在寻找的那个因为是三重反斜杠双引号\\\"
。这是因为您在HTML <script>
块内构建了文本字符串,并且第一个双反斜杠将单个反斜杠插入字符串变量,然后下面的反斜杠双引号将双引号插入字符串中,以便生成的脚本字符串包含\"
从标准答案和JSON解析器将解析这只是双引号。
<script>
var text="{";
text += '"quip":"\\\"If nobody is listening, then you\'re likely talking to the wrong audience.\\\""';
text += "}";
var obj=JSON.parse(text);
</script>
+1:因为它是一个JavaScript字符串,一个双反斜线双引号\\"
将工作太;因为双引号不需要在单引号字符串内转义,例如'\"'
和'"'
会导致相同的JS字符串。
单个评论不起作用 – DWGuru 2016-01-08 12:04:56
@DWGuru这与评论无关,它是一个转义序列,详见https://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404 .pdf(Par。 9 - 字符串)它说:'所有字符可能是 放置在引号内,除了必须转义的字符,然后它指定:'\“代表引号字符(U + 0022)' – mastazi 2017-03-30 01:30:57