0001: response
$[0] = [string] "{\"code\":200,\"id\":121}"
0001: eval(response)
SyntaxError: invalid label
有谁知道?
答案 0 :(得分:14)
你必须将它包装在()
中以触发表达式评估,如下所示:
eval("(" + response + ")")
虽然更好的方法是本机JSON处理:
var result = JSON.parse(response);
只需将json2.js包含在较早的浏览器(< IE8)支持中,调用就是相同的......如果缺少全局JSON
对象,它就会添加它。
答案 1 :(得分:4)
您需要将JSON字符串包装在括号中。
否则,{ ... }
被解释为可执行语句块,而不是。
通过在括号中包围它,可以强制解释器将其解释为表达式。