2011-06-07 64 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方法。