2015-06-14 40 views
3

所以我建立了這個JSON文件(http://www.smartbustracking.be/json/data.json),現在我能夠檢索數據。但我想實現的是用for循環過濾基於id的數據。如何檢索過濾的數據從JSON與雙循環

我能夠顯示一個特定的id項,但不是所有與該特定id相關的數據。

所以必須有一個更好的理解我試圖解釋通過的jsfiddle看到代碼 - >https://jsfiddle.net/r4gkw1w8/1/

var json= [ 
    { 
    "id":"1", 
    "longitude":"4.420556809486086", 
    "latitude":"51.21703476701095", 
    "description":"Station van Mechelen", 
    "busnummer":"14", 
    "name":"Station Mechelen", 
    "busuur":"14:45", 
    "bussen":[ 
     { 
     "busnummer":"530", 
     "busnaam":"Aarshot - Tremelo - Keerbergen - Mechelen", 
     "bushaltes":[ 
      { 
      "bushalte":"Zandpoortvest", 
      "aankomstuur":"17:40" 
      }, 
      { 
      "bushalte":"Raghenoplein", 
      "aankomstuur":"17:45" 
      }, 
      { 
      "bushalte":"Station perron 13", 
      "aankomstuur":"17:52" 
      } 
     ] 
     }, 
     { 
     "busnummer":"55", 
     "busnaam":"Test - Test - Test", 
     "bushaltes":[ 
      { 
      "bushalte":"Test 1", 
      "aankomstuur":"16:40" 
      }, 
      { 
      "bushalte":"Test 2", 
      "aankomstuur":"16:45" 
      }, 
      { 
      "bushalte":"Test 3 perron 13", 
      "aankomstuur":"16:52" 
      } 
     ] 
     } 
    ] 
    }, 
    { 
    "id":"2", 
    "longitude":"4.421180", 
    "latitude":"51.216227", 
    "description":"Station van Mechelen", 
    "busnummer":"180", 
    "name":"Station antwerpen", 
    "busuur":"14:45", 
    "bussen":[ 
     { 
     "busnummer":"630", 
     "busnaam":"Busnaam 1 ID 2", 
     "bushaltes":[ 
      { 
      "bushalte":"dafas", 
      "aankomstuur":"14:40" 
      }, 
      { 
      "bushalte":"fadas", 
      "aankomstuur":"14:45" 
      }, 
      { 
      "bushalte":"afdas perron 13", 
      "aankomstuur":"14:52" 
      } 
     ] 
     }, 
     { 
     "busnummer":"660", 
     "busnaam":"Busnaam 2 ID 2", 
     "bushaltes":[ 
      { 
      "bushalte":"Test 1", 
      "aankomstuur":"13:40" 
      }, 
      { 
      "bushalte":"Test 2", 
      "aankomstuur":"13:45" 
      }, 
      { 
      "bushalte":"Test 3 perron 13", 
      "aankomstuur":"13:52" 
      } 
     ] 
     } 
    ] 
    } 
]; 



var bushalte2=$(json).filter(function (i,field){return field.id==2;}); 


for (var i=0;i<bushalte2.length;i++) 
    { 
    $("#bussen").append(bushalte2[i].name + "<br/>"); 
    $("#bussen").append(bushalte2[i].bussen[i].busnummer);  



} 

所以我基本上要的是過濾所有與特定ID

數據
+0

林不知道我理解你的問題,但你想要顯示所選內容(id,long,lat,desc等)內的所有信息? –

+0

我想顯示所有的公交車號碼,例如身份證號碼1 – GY22

回答

1

如果我理解正確的話,你需要添加額外的for循環所有bussen

for (var i=0;i<bushalte2.length;i++) 
    { 
    $("#bussen").append(bushalte2[i].name + "<br/>"); 
     for (var j=0; j <bushalte2[i].bussen.length; j++) { 
     $("#bussen").append(bushalte2[i].bussen[j].busnummer + "<br/>");   
     }  
} 

這裏被更新的jsfiddle https://jsfiddle.net/or4e8t3u/

+0

非常感謝您的幫助。你是一個拯救生命的人 – GY22