何時何地使用\\\"
來代替。好吧,如果你像我一樣,你會感覺和我在發現這個主題後意識到自己在做什麼時一樣愚蠢。
如果您正在製作.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