Синтаксическая ошибка JSON.parse, в то время как JSONLint сообщает мне, что строка json допустима - PullRequest
1 голос
/ 12 января 2012

Я использовал встроенную функцию PHP json_encode(), чтобы преобразовать массив объектов в json string. Затем я использую метод AJAX, чтобы получить xmlhttp.responseText. Я использую document.write(xmlhttp.responseText), чтобы проверить строку ответа. Например, строка выглядит следующим образом:

{"index":0,"marks":2}

Но когда я использую JSON.parse() для анализа строки JSON, я получаю синтаксическую ошибку. Итак, я копирую эту строку в JSONLint, чтобы проверить, является ли она действительной, результат - нет.

Parse error on line 1:
{    "index": 0
^
Expecting '{', '['

Но когда я ввожу это вручную, оно действительно. Почему?

1 Ответ

1 голос
/ 12 января 2012

Возможно, в вашем responseText есть символ пробела нулевой ширины или аналогичный.

Как примечание, я настоятельно рекомендую использовать console.log вместо document.write для отладки.

...