Кавычка в json

  • Автор темы Автор темы Шива
  • Дата начала Дата начала

Шива

Client
Регистрация
05.02.2018
Сообщения
1 093
Реакции
341
Баллы
83
Есть вот такого вида json {"code":200,"lang":"ru-en","text":["fdsfdsifd"sofjsd"]}
Экшен json его обрабатывать не хочет.
Выдает
Выполнение действия Parse Json/Xml After parsing a value an unexpected character was encountered: s. Path 'text[0]', line 1, position 46.
Также кавычки могут быть такие
Есть вот такого вида json {"code":200,"lang":"ru-en","text":[""fdsfdsifdsofjsd"]}
Есть вот такого вида json {"code":200,"lang":"ru-en","text":["fdsfdsifdsofjsd""]}
Как правильно такое обработать?
 
Последнее редактирование:
Дак не по стандарту json то, вот и ругается
Кавычка эта должна быть экранирована с помощью \
делай сначала замену кавычки находящейся в кавычка на \", ну а потом уж в обработчик json'а пихай
 
Дак не по стандарту json то, вот и ругается
Кавычка эта должна быть экранирована с помощью \
делай сначала замену кавычки находящейся в кавычка на \", ну а потом уж в обработчик json'а пихай
Там еще перенос строки идет и все равно получается не валид.
 
Просто как вариант не валидности.
В таком случае вижу только 3 варианта решения проблемы:
1) Проверять через схему, Newtonsoft.Json.Schema и в случае ошибки обрабатывать заменами, приводя к валидному формату
2) Обрабатывать не как json, а как обычный текст. Или вырезать проблемную часть и только ее как текст
3) Указать разработчикам на ошибку, попросить исправить
 
  • Спасибо
Реакции: Mikhail B.
3) Указать разработчикам на ошибку, попросить исправить
Это больше похоже на борьбу с софтами, а не ошибками на сайте)

2022-07-29_030730.jpg
 
Это больше похоже на борьбу с софтами, а не ошибками на сайте)
Узнаю Notepad++ Но какой нюанс демонстрирует этот скриншот? Если ожидалось что будет совпадение с \\\", то надо включить нормальный режим поиска, без поддержки экранирующих символов.
95153
 
Проще оказалось, просто привести код в читаемый для json. А потом уже отдельные переменные приводить в читаемый вид из юникода. Буд-то там двойной юникод, но если прогнать два раза, то json валится в ошибки.
 
Проще оказалось, просто привести код в читаемый для json
Скрипты для автоматического исправления подобных ошибок работают используя свой вариант парсера, разбирая на составляющие по типам и собирая валидный вариант, т.к кроме двойных кавычек бывают и другие ошибки.

Сейчас такое реже встречается, когда оборудование было слабее на хостингах, иногда передавались не все данные от сайта, получали обрезанный json, с недостающими данными.
 
  • Спасибо
Реакции: Mikhail B.

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)