带有base64编码字段的javascript eval json

标签 javascript eval base64

我正在使用 sun.misc.BASE64Encoder 对加密值进行编码,然后将其添加到 JSON 字段并随后发送到客户端。我在客户端使用 Javascript 的 eval() 函数从 JSON 代码创建一个对象。当 eval() 运行时,它会给出错误:

unterminated string literal

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 字段的值包含它不关心的内容。

提前致谢。 蒂姆

最佳答案

我认为这可能是因为您的 JSON 中似乎有换行符。如果删除它们,是否有效?

关于带有base64编码字段的javascript eval json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3129264/

相关文章:

javascript - Mongodb:子文档数组的聚合值

javascript - Express JS 中的路由参数

java - arity.jar 算术库如何计算字符串操作?

java - 包含 zip 文件的 base64 字符串的解码在结果字符串中得到 8 个字符代码错误

python - Swift 等同于 Python 的 - hash.digest().encode ('base64' ).strip()?

javascript - 如何将一个div的内容设置为另一个div的内容

javascript - 当 `` `type ="module"``` 或 import 时函数不工作

Clojure的eval没有 "see"本地符号

java - Android Expj4 检查表达式是否无效

ios - 将 zlib 压缩的 base64 字符串转换为 Uiimage 时出现问题