带有base64编码字段的javascript eval json

时间:2010-06-27 23:17:23

标签: javascript eval base64

我使用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字段的值包含它不关心的东西。

提前致谢。 添

1 个答案:

答案 0 :(得分:1)

我认为这可能是因为你的JSON似乎有换行符。如果你删除它们,它有用吗?