Answers:
尝试这个:
"maingame": {
"day1": {
"text1": "Tag 1",
"text2": "Heute startet unsere Rundreise \" Example text\". Jeden Tag wird ein neues Reiseziel angesteuert bis wir.</strong> "
}
}
(\
在引号前只需一个反斜杠())。
何时何地使用\\\"
。好吧,如果您像我一样,当您发现此线程后意识到自己在做什么时,您会感到和我一样愚蠢。
如果您要制作一个.json文本文件/流,并从那里导入数据,那么主流的答案就是双引号前的一个反斜杠:这\"
就是您要查找的。
但是,如果您像我一样,并且尝试使w3schools.com“ Tryit编辑器”在JSON.parse(text)的输出中具有双引号,那么您要查找的是三重反斜杠双引号\\\"
。这是因为你的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字符串。
请注意,这种情况最常发生在内容已被“双重编码”时,这意味着编码算法被意外调用了两次。
第一次调用将对“ text2”值进行编码:
发件人: Heute startet unsere Rundreise“示例文本”。Jeden Tag wird ein neues Reiseziel angesteuert bis wir。
TO:取消高级Runetreise \“示例文本\”。Jeden Tag wird ein neues Reiseziel angesteuert bis wir。
第二种编码然后再次将其转换,转义已经转义的字符:
发件人:不喜欢Runetreise的高级首字母\“示例文本\”。Jeden Tag wird ein neues Reiseziel angesteuert bis wir。
到:取消高级Runetreise,\\“示例文本\\\”。Jeden Tag wird ein neues Reiseziel angesteuert bis wir。
因此,如果您在这里负责服务器的实现,请检查以确保没有两个步骤尝试对相同的内容进行编码。
为了避免反斜杠导致JSON数据出现问题,我使用了此功能。
//escape backslash to avoid errors
var escapeJSON = function(str) {
return str.replace(/\\/g,'\\');
};
对于那些想要使用开发人员powershell的人。以下是添加到settings.json中的行:
"terminal.integrated.automationShell.windows": "C:\\Windows\\SysWOW64\\WindowsPowerShell\\v1.0\\powershell.exe",
"terminal.integrated.shellArgs.windows": [
"-noe",
"-c",
" &{Import-Module 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\Common7\\Tools\\Microsoft.VisualStudio.DevShell.dll'; Enter-VsDevShell b7c50c8d} ",
],
All characters may be placed within the quotation marks except for the characters that must be escaped
然后它指定:\" represents the quotation mark character (U+0022)