Неверный JSON: Невидимые символы? - PullRequest
2 голосов
/ 25 апреля 2011

Я использую JSON для перехода между PHP и Javascript / Jquery ... и по какой-то причине данные, которые я извлекаю из таблицы MSSQL, периодически делают мой JSON недействительным. Я не вижу никакой причины, почему это должно быть недействительным ... и тот же набор данных отлично работает для других записей. Я пробовал разные кодировки символов ... Я пытался использовать htmlentities () и htmlspecialchars (), и записи certian по-прежнему делают JSON недействительным.

Вот пример неверного JSON

{"TASK": "test","TYPE": "Other Issue","SUBTYPE": "","CATEGORY": "","REQUEST": "Mat Gilbert","OPENDATE": "Dec 8 2010  5:12PM","PRIORITY": "2 - Low","DUEDATE": "","DESCRIPT": "12/8/2010 12:12 PM Eastern Standard Time - scldom\mgilbert test\n","STATUS": "","RESPONS": ""}

Когда я использую jsonlint ... он говорит мне следующее:

синтаксическая ошибка, неожиданный TINVALID в строке 10

Строка 10 - это поле «ОПИСАНИЕ».

Я совершенно не понимаю, почему это недопустимый JSON. Пожалуйста, помогите.

Ответы [ 2 ]

5 голосов
/ 25 апреля 2011

Вы должны избежать этой косой черты scldom\mgilbert примерно так scldom\\mgilbert.

Чтобы избавить себя от будущих проблем при создании правильного JSON, вы можете использовать PHP json_encode() функцию.

2 голосов
/ 25 апреля 2011

Это:

scldom\mgilbert

\m недействительно. Измените его на \\m

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...