我的網站使用$ .getJSON(「filename.json」)從本地文件加載JSON對象。但是,我一直在解析這個對象時遇到困難。我經常收到一個「未定義」的控制檯日誌消息。 JSON文件中得到了驗證,我相信數組語法(如以下所列)是正確的訪問方法...JSON嵌套對象解析
var data = $.getJSON("summer.json");
console.log(data["ResponseJSON"]);
我的網站使用$ .getJSON(「filename.json」)從本地文件加載JSON對象。但是,我一直在解析這個對象時遇到困難。我經常收到一個「未定義」的控制檯日誌消息。 JSON文件中得到了驗證,我相信數組語法(如以下所列)是正確的訪問方法...JSON嵌套對象解析
var data = $.getJSON("summer.json");
console.log(data["ResponseJSON"]);
您需要分配值和使用值這樣的回調函數。因爲數據是異步返回的。
如果您將console.log放在回調之外,它將在數據到達之前進行評估。
$.getJSON('summer.json', function(d) {
data = d;
console.log(data["ResponseJSON"]);
});
您還必須*使用*回調中的數據,或者從那裏調用並傳遞數據的函數。 – bfavaretto
@bfavaretto當然。 – zsong
是否有一個原因,數據必須在回調函數中使用(或從函數調用)? 例如,爲什麼不會 'var data; $ .getJSON('summer.json',function(d){ data = d; }); console.log(data [「ResponseJSON」]);' 函數是否正確? –
這是什麼在[文檔和示例](http://api.jquery.com/jQuery.getJSON/),讓你認爲代碼將工作?即使調用是同步的,但JavaScript區分大小寫,屬性名稱爲「responseJSON」,而不是「ResponseJSON」(並且調用幾乎肯定不是同步的)。 –