Почему SJCL сообщает "это не JSON" при попытке декодировать этот фрагмент JSON?
Я использую SJCL, и он отлично работает с небольшими строками ASCII.
Но когда я пытаюсь декодировать этот фрагмент JSON (результат шифрования HTML-страницы), я получаю "this is not JSON!"
ошибка.
JSON был создан SJCL, и хотя я кодировал и декодировал его с помощью LZW и base64, я не получаю эту ошибку для небольших строк с одинаковым рабочим процессом.
Я отследил происхождение сообщения об ошибке до функции декодирования. Я предполагаю, что регулярные выражения терпят неудачу, но я не понимаю, почему, поскольку мне кажется, что это отлично сформированная строка JSON.
Тем не менее, я могу ошибаться, как будто я делаю JavaScript eval на нем, он терпит неудачу при синтаксической ошибке Но если я дам дамп в файл Python, то разбираюсь нормально.
2 ответа
Хорошо, я сделал двойную кодировку base64. Один до шифрования и один после. Кажется, что удаление первого прохода заставляет его работать.
JSON, который у вас this piece of json
ссылка начинается и заканчивается символом двойной кавычки. Это на самом деле часть содержимого JSON? Если это так, я считаю, что это ваша проблема. В противном случае это выглядит как действительный JSON для меня.