2017-06-25 69 views
1

我有數據json計劃航班,但getJSON不顯示所有信息。它只是返回null一些數據,所有數據顯示null已經存在。

代碼:

$ (document).ready (function(){ 

    $.getJSON("/common/v1/airport.json?code=bgw", function(data){ 

    $.each(data.result.response.airport.pluginData.schedule.arrivals.data, function(){ 

$("ul").append("<li>"+this.flight.airport.origin.position.region.city+"</li>"); 

    }); 

    }); 

}); 

這短暫的數據JSON我有,數據陣列[25]我只得到5和錯誤是TypeError: this.flight.airport.origin is null

我的數據JSON鏈接link

+1

這是json完成嗎?在那裏只有兩次財產來源。你提到os [25]和5.你期望陣列的長度是25嗎? – Pineda

+0

我的數據json他這麼久我發佈了他的短消息 –

+0

如果我們要幫助你,我們需要看到所有的JSON。採取完整的JSON並通過像[這一個](https://www.browserling.com/tools/json-minify)這樣的工具進行壓縮,然後發佈。我們可以通過在同一網站上使用美化工具來解壓縮它。你的小樣本是9000+字符,壓縮到〜2000。 –

回答

2

有一個在至少有一個對象爲null。在將信息附加到列表之前,您可以進行簡單的檢查:

$ (document).ready (function(){ 
    $.getJSON("/common/v1/airport.json?code=bgw", function(data){ 

    $.each(data.result.response.airport.pluginData.schedule.arrivals.data, function(){ 

     if (this.flight.airport.origin) { 
     $("ul").append("<li>"+this.flight.airport.origin.position.region.city+"</li>"); 
     } 

    }); 

    }); 

}); 
+0

他的wokr :),thnak你非常,我不得不質疑,1-可以使用像這一步anguarljs ? 。 –

+1

在Angular中,您可以使用類似$ http或$ resource的東西來獲取API中的數據(而不是$ .getJSON),但是您需要檢查原始數據是否與上述相同。 –

+0

非常感謝你 –