Как избежать двойных кавычек в JSON

Я пытаюсь показать двойные кавычки, но он показывает одну из обратных косых черт:

"maingame": { "day1": { "text1": "Tag 1", "text2": "Heute startet unsere Rundreise \\\"Example text\\\". Jeden Tag wird ein neues Reiseziel angesteuert bis wir. " } } 

При рендеринге в html он отображается как \"Example text\" . Каков правильный путь?

Попробуй это:

 "maingame": { "day1": { "text1": "Tag 1", "text2": "Heute startet unsere Rundreise \" Example text\". Jeden Tag wird ein neues Reiseziel angesteuert bis wir. " } } 

(только одна обратная косая черта ( \ ) перед кавычками).

Он показывает обратную косую черту, потому что вы также избегаете обратной косой черты.

Помимо двойных кавычек вы также должны избегать обратных косых черт, если вы хотите включить их в строку, указанную в JSON. Однако, если вы намерены использовать обратную косую черту в escape-последовательности, очевидно, вы не должны ее избегать.

Когда и где использовать \\\" вместо этого. ОК, если вы похожи на меня, вы будете чувствовать себя так же глупо, как я, когда я понял, что я делаю после того, как нашел эту тему.

Если вы создаете текстовый файл / stream .json и импортируете данные оттуда, тогда ответ основного streamа всего одного обратного слэша перед двойными кавычками: \" это тот, который вы ищете.

Однако, если вы похожи на меня, и вы пытаетесь заставить w3schools.com «Tryit Editor» иметь двойные кавычки в выходе JSON.parse (текст), то тот, который вы ищете, является тройным обратная косая черта с двойными кавычками \\\" . Это связано с тем, что вы создаете свою текстовую строку в блоке HTML , а первая двойная обратная косая черта вставляет одиночную обратную косую черту в строковую переменную, тогда следующая двойная кавычка обратной косы вставляет двойную кавычку в строка, так что результирующая строка скрипта содержит \" стандартный ответ», а парсер JSON будет анализировать это как двойные кавычки.

  

+1: поскольку это текстовая строка JavaScript, двойная кавычка с двойным обратным слэшем \\" тоже будет работать, потому что двойная кавычка не нуждается в экранировании в одной кавычной строке, например, '\"' и '"' приводит к той же строке JS ,

Обратите внимание, что это чаще всего происходит, когда контент был «двойным», что означает, что алгоритм кодирования случайно вызван дважды.

Первый вызов будет кодировать значение «text2»:

FROM: 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.

Второе кодирование затем преобразует его снова, избегая уже экранированных символов:

FROM: 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, я использую эту функцию.

 //escape backslash to avoid errors var escapeJSON = function(str) { return str.replace(/\\/g,'\\'); }; 

если вы хотите избежать двойной кавычки в JSON, используйте \\, чтобы избежать ее.

Например, если вы хотите создать json следующего объекта javascript

 {time: '7 "o" clock'} 

то вы должны написать следующим образом

 '{"time":"7 \\"o\\" clock"}' 

если мы проанализируем его с помощью JSON.parse()

 JSON.parse('{"time":"7 \\"o\\" clock"}') 

результат будет

 {time: "7 "o" clock"} 
  • Отображение данных JSON в JQGrid
  • Excel VBA: Parsed JSON Object Loop
  • Как преобразовать набор результатов Java в JSON?
  • Получить данные JSON из URL с помощью Android?
  • ASP.NET MVC Как передать объект JSON из представления в controller в качестве параметра
  • Как написать пользовательский десериализатор JSON для Gson?
  • Как можно полиморфная десериализация Json String с использованием Java и библиотеки Jackson?
  • Gson: Непосредственно конвертировать String в JsonObject (без POJO)
  • Загрузите данные из Webservice (asmx) в jqgrid. пожалуйста, помогите мне
  • Spring 3.0 делает ответ JSON с помощью конвертера сообщений Jackson
  • В чем разница между PreserveReferencesHandling и ReferenceLoopHandling в Json.Net?
  • Давайте будем гением компьютера.