Я пытаюсь показать двойные кавычки, но это показывает одну из обратных косых черт:
"maingame": {
"day1": {
"text1": "Tag 1",
"text2": "Heute startet unsere Rundreise \\\"Example text\\\". Jeden Tag wird ein neues Reiseziel angesteuert bis wir.</strong> "
}
}
При рендеринге в HTML это отображается как \"Example text\"
. Какой правильный путь?
All characters may be placed within the quotation marks except for the characters that must be escaped
а затем указывает:\" represents the quotation mark character (U+0022)
Когда и где использовать
\\\"
вместо. Хорошо, если вы похожи на меня, вы будете чувствовать себя так же глупо, как и я, когда я понял, что я делал, после того как я нашел эту ветку.Если вы создаете текстовый файл / поток .json и импортируете данные оттуда, то ответ основного потока, состоящий только из одной обратной косой черты перед двойными кавычками:
\"
это тот, который вы ищете.Однако, если вы похожи на меня, и вы пытаетесь заставить w3schools.com «Tryit Editor» иметь двойные кавычки в выводе JSON.parse (текст), то тот, который вы ищете, - тройной двойные кавычки с обратной косой чертой
\\\"
. Это потому , что вы строите свой текстовую строку внутри HTML<script>
блока, и первые двойные вставки обратной косой один обратный слэш в строковую переменную , то следующий обратный слэш двойные кавычки вставляет двойные кавычки в строку , так что результирующая строка сценария содержит\"
от стандартный ответ и анализатор JSON проанализируют это как просто двойные кавычки.+1: поскольку это текстовая строка JavaScript, двойная кавычка с обратной косой чертой
\\"
тоже подойдет; потому что двойные кавычки не нужно экранировать внутри одной строки в кавычках, например,'\"'
и'"'
приводить к той же строке JS.источник
Он показывает обратную косую черту, потому что вы также избегаете обратной косой черты.
Помимо двойных кавычек, вы также должны избегать обратной косой черты, если хотите включить ее в строку в кавычках JSON. Однако, если вы намереваетесь использовать обратную косую черту в escape-последовательности, очевидно, вы не должны избегать ее.
источник
Обратите внимание, что это чаще всего происходит, когда контент был «дважды закодирован», то есть алгоритм кодирования был случайно вызван дважды.
Первый вызов закодирует значение «text2»:
ОТ: Heute Startet Unsere Rundreise "Пример текста". Jeden Tag Wird Ein Neues Reiseziel angesteuert bis wir.
TO: Heute startet unsere Rundreise \ "Пример текста \". Jeden Tag Wird Ein Neues Reiseziel angesteuert bis wir.
Затем вторая кодировка преобразует его снова, экранируя уже экранированные символы:
ОТ: Heute Startet Unsere Rundreise \ "Пример текста \". Jeden Tag Wird Ein Neues Reiseziel angesteuert bis wir.
TO: Heute startet unsere Rundreise \\\ "Пример текста \\\". Jeden Tag Wird Ein Neues Reiseziel angesteuert bis wir.
Итак, если вы несете ответственность за реализацию сервера здесь, убедитесь, что нет двух шагов, пытаясь закодировать один и тот же контент.
источник
если вы хотите экранировать двойные кавычки в JSON, используйте \\ для экранирования.
пример, если вы хотите создать json следующего объекта javascript
тогда вы должны написать следующим образом
если мы разберем это с помощью
JSON.parse()
результат будет
источник
Чтобы избежать обратной косой черты, которая вызывает проблемы для данных JSON, я использую эту функцию.
источник
Для тех, кто хотел бы использовать разработчика powershell. Вот строки, которые нужно добавить в ваш файл settings.json:
источник