将JSON转换为javascript对象时遇到问题

时间:2011-06-07 00:00:49

标签: jquery json

我正在使用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

4 个答案:

答案 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