Почему 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 для меня.

Другие вопросы по тегам