我使用sun.misc.BASE64Encoder对加密值进行编码,然后将其添加到JSON字段并随后发送到客户端。我在客户端上使用Javascript的eval()函数从JSON代码创建一个对象。当eval()运行时,它会给出错误:
未终止的字符串文字
JSON代码中还有其他字段,但我已将错误专门缩小到base64编码字段。这是javascript代码的违规行:
var result = eval( '(' + xhr.responseText + ')' );
这是来自Servlet的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字段的值包含它不关心的东西。
提前致谢。 添
答案 0 :(得分:1)
我认为这可能是因为你的JSON似乎有换行符。如果你删除它们,它有用吗?