2011-06-24 323 views
8

我有以下的jQuery/JS代碼爲什麼parseJSON返回null

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> 
<script> 
    $.getJSON("http://example/topics", {}, function(data){ 
      console.log(data); // display the JSON *data* in the web console 
      console.log($.parseJSON(data)); 
    }); 
</script> 

的console.log(數據)顯示Firebug的控制檯內JSON數據(Firefox插件),但的console.log($。 parseJSON(data))顯示null

可能是什麼原因。

我需要將JSON字符串轉換爲數組。

回答

21

我假設是因爲$.getJSON已經解析過數據。 data是Javascript對象。

success的回調被傳遞返回的數據,其通常是JavaScript對象或陣列由JSON結構所定義和使用$.parseJSON()方法解析。

當然,如果您向我們顯示輸出,我們可以說更多,但通常,$.getJSON已經解析了響應。

P.S .:我希望你在你的真實代碼中使用正確的URL。