javascript - How to retrieve filtered data from json with double for loop -
so have build json file (http://www.smartbustracking.be/json/data.json) , able retrieve data. achieve filter data based on id loop.
i able show 1 item of specific id not data related specific id.
so have have better understanding of trying explain see code via 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;}); (var i=0;i<bushalte2.length;i++) { $("#bussen").append(bushalte2[i].name + "<br/>"); $("#bussen").append(bushalte2[i].bussen[i].busnummer); }
so want filter data related specific id
if understood correctly, need add additional loop bussen
for (var i=0;i<bushalte2.length;i++) { $("#bussen").append(bushalte2[i].name + "<br/>"); (var j=0; j <bushalte2[i].bussen.length; j++) { $("#bussen").append(bushalte2[i].bussen[j].busnummer + "<br/>"); } }
here updated jsfiddle https://jsfiddle.net/or4e8t3u/
Comments
Post a Comment