У меня были некоторые проблемы с разбором JSON, полученного с WebSocket (оригинальный вопрос - При синтаксическом анализе JSON, полученном с WebSocket, выдается ошибка ). Сама строка JSON допустима (проверено с несколькими валидаторами JSON), но JSON.parse выдает исключение. Я пытаюсь выяснить, что именно он не может проанализировать, но единственное, что я получаю, - это «SyntaxError: непредвиденный_каталог ILLEGAL», в нем не указано, где находится точная позиция неисправного токена. Есть ли способ извлечь такую информацию?
Обновление : если я скопирую и вставлю эту строку JSON в статический файл (например, «data.json»), а затем получу ее и проанализирую с помощью той же функции (JSON.parse) - тогда она работает отлично.
Поэтому я предполагаю, что происходит что-то хитрое, я подумал о символе новой строки (может быть, вместо \ r \ n или наоборот был \ n или наоборот), но полное удаление всех разрывов строк не помогло. Я думаю, что это может быть проблема кодирования, но данные принимаются через websocket и согласно документации это строка utf-8.
2-е обновление : это прекрасно работает, если я использую здесь "json_parse": https://github.com/douglascrockford/JSON-js/blob/master/json_parse.js
Тогда это работает отлично! Означает ли это, что это ошибка в реализации "JSON.parse", используемой Chrome, или что?
Спасибо.