2015-10-30 59 views
-1

我試圖從jquery $ .each訪問嵌套的JSON數組,但我無法訪問。這裏是我的代碼:使用jquery訪問嵌套的json數組

console.log("Entered Script"); 
 
$.getJSON('json/insuranceData.json', function(data) { 
 
    $.each(data.insuranceReport, function(i, f) { 
 
    console.log("first $.each part of Script"); 
 
    $.each(data.insuranceReport.dataFilePaths, function(i, g) { 
 
     console.log("second $.each part of Script"); 
 
     var dataFile = "?dataTablePath=" + g.path + "&" 
 
     console.log(g.path); 
 
     if (g == null) { 
 
     console.log("script broke here") 
 
     return false; // Break 
 
     } 
 
    }); 
 
    var divData = "<tr>" + "<td>" + "<a href='employees/index.html" + f.dataFile + "insuranceName=" + f.insuranceName + "'>" + f.insuranceName + "</a>" + "</td>" + 
 
     "<td>" + f.employeeCost + "</td>" + "<td>" + f.employerCost + "</td>" + "<td>" + f.totalCost + "</td>" + "</tr>" 
 
    $(divData).appendTo("#dataTable tbody"); 
 
    }); 
 
}); 
 
console.log("script comnpleted.");

我想訪問dataFilePaths陣列,其嵌套在insuranceReport,但它似乎並不希望在此工作。我在這裏做錯了什麼?

+1

從你的代碼,很明顯,你是絆有關帶着'console.log'火炬的黑暗。相反,*使用內置在瀏覽器中的調試器打開燈光*。 –

+1

我已經在下面做了一個猜測,但是如果我們能看到JSON,它會幫助很多**。 –

回答

0

我想訪問dataFilePaths陣列,其嵌套在insuranceReport

那麼你一定要f.dataFilePaths,不data.insuranceReport.dataFilePaths

$.getJSON('json/insuranceData.json', function(data) { 
    $.each(data.insuranceReport, function(i, f) { 
    //          ^------------ will refer 
    console.log("first $.each part of Script");  // to each entry 
    $.each(f.dataFilePaths, function(i, g) {   // in data.insuranceReport 
    //  ^----- So use it here 
+0

明白了。這工作。謝謝! –