2016-02-05 3 views
-3

Я разрабатываю приложение, в котором мне нужно отправить большой JSON - около 7 М символов (6,6 МБ данных). JSON принят правильно, как строки, но когда я пытаюсь разобрать его с JSON.parse, я получаю сообщение об ошибке:JSON.parse не работает с JSON

Uncaught SyntaxError: Unexpected token

Я подключил JSON в JSONLint, и он говорит, что это действительно. Как мне отладить эту проблему?

Я сделал dump json, для тех, кто интересуется. Это данные сетки трехмерной структуры.

+2

7 ... million .... знак .....? Это около 14 Мб (в зависимости от кодировки), я не считаю, что это невозможно урезать/выгрузить. Сначала я хотел бы исправить эту проблему, прежде чем беспокоиться о любых проблемах с синтаксическим анализом, связанным с огромным весом данных. –

+0

Код, пожалуйста? :) – Pierre

+0

Вы уверены, что это строковое представление 'JSON'? – Rayon

ответ

2

Ваши 7M-символы (предположительно в основном латинские) транслируются на некоторые 7 Мбайт данных UTF8 или 14 МБ данных UTF16. Сегодняшние браузеры могут справиться с этим, поэтому я думаю, что ваши данные повреждаются где-то по пути от сервера к части кода, где вы на самом деле разбираете ее.

Возможно, вывести строку в HTML textarea и запустить ее снова в JSONLint.

+0

Просто попробовал это, он по-прежнему действует в соответствии с JSONLint. Chrome говорит, что это 6,6 МБ данных. Кстати, я заметил, что этот вопрос был занижен, почему? – user1846231

+0

@ user1846231 мои 5 центов, поэтому я мог ошибаться ... (Некоторые). Пользователи, как правило, немного разбираются в вопросах, которые встречаются как «выполняйте мою работу для меня», не говоря, что это вы делаете, но эта платформа может быть немного жесткой по отношению к новым пользователям в лучшие времена. (Подумайте, что это комбинация из вас с более низкой репутацией, и это вопрос только с текстом без образца кода) –

+0

@ user1846231 Когда я перейду к указанному вами URL-адресу, откройте мои инструменты Dev (F12) и введите следующую команду в консоли , JSON отлично разбирается: 'JSON.parse (document.getElementsByTagName ('body') [0] .innerText)' – Lucero

Смежные вопросы