javascript eval json с полем, закодированным в base64 - PullRequest
3 голосов
/ 28 июня 2010

Я использую sun.misc.BASE64Encoder для кодирования зашифрованного значения, которое затем добавляется в поле JSON и впоследствии отправляется клиенту.Я использую функцию eval () Javascript на клиенте, чтобы создать объект из кода JSON.При запуске eval () выдает ошибку:

неопределенный строковый литерал

В коде JSON есть другие поля, но я специально сузил ошибку дозакодированное в base64 поле.Вот оскорбительная строка кода javascript:

var result = eval( '(' + xhr.responseText + ')' ); 

Вот объект JSON из сервлета:

{
  'resource':'resource?Signature=j79r/2Hly+HqhS/6fdd+prfsR+kUNijUvDN0QJ14ZR43gzYScOMDypt/crks/CEphTUXVptJvSol
1ZOOvScCUhNOCb7dZk/3MKnI5tOewSACXK32/OJNd8hYpZtSTn+WhA6+f9BUIUZWA83U8Cud/Tb8V
R1yQWbDGG/mM/NiUSiY=', 

'url':'http://somesite.com/pr'
}

Я не уверен, почему умирает eval, но, похоже, значениеполе JSON 'resource' содержит что-то, что его не волнует.

Заранее спасибо.Тим

1 Ответ

1 голос
/ 28 июня 2010

Я думаю, это может быть потому, что в вашем JSON есть разрывы строк. Если вы удалите их, это работает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...