2011-06-07 59 views
0

我使用jQuery和jQuery的JSON插件这里找到:http://code.google.com/p/jquery-json/有问题转成JSON JavaScript对象

我在http://jsonlint.com/检查,以确保返回的JSON是有效的,它是。

我无法在jquery-json插件中得到这个函数来返回一个javascript对象。它只是在插件的第118行(未缩小)上的JSON.parse(src)处引发错误。

var data = $.evalJSON(rsp); 
console.log(data); 

其中rsp是$ .ajax()成功回调的响应。此外,

typeof rsp // returns object 
+1

什么是错误? – 2011-06-07 00:03:16

+0

console.log(rsp) – slezica 2011-06-07 00:05:12

+0

我建议尝试https://github.com/douglascrockford/JSON-js并发布你正在努力的字符串 – davin 2011-06-07 00:05:40

回答

0

如果rsp已经是一个对象,那么您不必解析它。如果typeof rsp返回String,那么你会。

0

我一直只是用JavaScript内置的eval()函数:eval('('+rsp+')');看到,因为JSON是真的只是一个JavaScript对象。 (因此它的名称:Javascript Object Notation)

0

rsp已经是javascript对象,因为typeof rsp == 'object'。你不需要做任何事情。

如果它是一个JSON编码字符串,然后typeof rsp == 'string',只有到那时,你会需要$.evalJSON

1

$.ajax方法将为您解析JSON,因此您不必这样做。发送给成功回调的东西已经是一个对象。另外,如果您使用的是jQuery 1.4.1或更高版本,如果您需要解析JSON,则不需要插件。它有内置的$.parseJSON方法。