我正在使用jquery和jquery-json插件:http://code.google.com/p/jquery-json/
我已在http://jsonlint.com/检查以确保返回的JSON有效且确实如此。
我无法在jquery-json插件中获取此函数来返回javascript对象。它只是在插件的第118行的JSON.parse(src)上抛出一个错误(未缩小)。
var data = $.evalJSON(rsp);
console.log(data);
其中rsp是$ .ajax()成功回调的响应。另外,
typeof rsp // returns object
答案 0 :(得分:1)
$.ajax
方法将为您解析JSON,因此您不必这样做。发送到成功回调的内容已经是一个对象。
此外,如果您使用的是jQuery 1.4.1或更高版本,则在需要解析JSON时不需要插件。它内置了$.parseJSON
方法。
答案 1 :(得分:0)
我一直只是使用javascript内置的eval()函数:eval('('+rsp+')');
因为JSON实际上只是一个javascript对象。 (因此它的名字:Javascript Object Notation)
答案 2 :(得分:0)
如果rsp
已经是对象,那么您不必解析它。如果typeof rsp
返回String,那么你会。
答案 3 :(得分:0)
rsp
已经是 javascript对象,因为typeof rsp == 'object'
。你不需要做任何事情。
如果是 JSON编码的字符串,那么typeof rsp == 'string'
,只有这样才需要$.evalJSON
。