2013-07-31 116 views
0

我正在寫一個小腳本從JSON文檔中獲取調度並將它們呈現在列表視圖中。當我訪問JSON文檔時,我很難得到正確的值,但仍然是「未定義的」通過jquery訪問JSON返回「undefined」

這裏是JSON文檔。

{ 
"Ferries": { 
    "HorseshoeBay": {/*bunch of schedules here*/}, 
    "DepartureBay": {/*bunch of schedules here*/}, 
    "DukePoint": {/*bunch of schedules here*/}, 
} 
} 

而這裏的JS

$.getJSON("includes/json/ferries.json", function(e){ 
    var depart = e; 
    $("#content").append("<ul id='depart-list'>"); 
    $.each(depart.Ferries, function(i, item) { 
     console.log(item.result); 
    }); 
    $("#content").append("</ul>"); 
}); 

正如你看到的,我只是想記錄的結果,但我回來與連接到關鍵的「古渡」值的數量未定義,我真的不知道爲什麼。

任何幫助將不勝感激。

編輯

嘿,我試着用只用「項」正如一些評論者

我的每一個功能是現在供應如下:

$.each(depart.Ferries, function(i,item) { 
      $("#depart-list").append("<li class='depart-list-item'>" + item + "</li>"); 
     }); 

這裏我試圖填充列表項目,當然可以預見它會返回一堆列表項目,其內容爲「[object Object]」

它返回的HTML看起來像這樣:

<li class="depart-list-item">[object Object]</li> 

任何進一步的幫助將是偉大的!

+0

,如果你只是做'的console.log(項目)'會發生什麼? – musicnothing

+1

嘗試使用console.log進行調試(JSON.stringify(出發));如果e確實是一個有效的json,你會在調試控制檯中看到它。 – MightyPork

+0

另外,嘗試檢查您的JSON與驗證http://jsonlint.com/ – MightyPork

回答

0

試試這個 -

$.each(depart.Ferries, function(i,v) { 
     console.log(i + "," + v); 
}); 
+0

這不是一個答案,並且由於Ferries未定義,也會失敗。 – MightyPork