sun.misc.BASE64Encoder를 사용하여 암호화 된 값을 인코딩 한 다음 JSON 필드에 추가 한 다음 나중에 클라이언트로 보냅니다. 클라이언트에서 Javascript의 eval() 함수를 사용하여 JSON 코드에서 객체를 만듭니다. 평가()를 실행하면 오류를 제공합니다javascript eval json with base64 인코딩 된 필드
unterminated string literal
는 JSON 코드의 다른 필드가 있습니다,하지만 난 필드를 base64 인코딩에 특히 오류를 좁혀했습니다. 여기
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'
}
평가가 죽어가는 이유를 잘 모르겠어요,하지만 그것은 '자원'의 값을 보인다 JSON 필드는 상관하지 않는 것을 포함합니다.
미리 감사드립니다. Tim
어쩌면 그것은 \ n 그 eval() 죽이고 ...? – Tim
그건 그렇고, 실제로는 잘못된 JSON을 사용하고 있습니다. JSON은 작은 따옴표가 아닌 속성 이름과 문자열 값을 큰 따옴표로 묶습니다. 분명히 그것은 단지'평가 '를하면 작동하지만 엄격한 JSON 구문 분석기는 실패합니다. –