Javascript 如何使用double for循环从json检索过滤数据

Javascript 如何使用double for循环从json检索过滤数据,javascript,json,loops,for-loop,filter,Javascript,Json,Loops,For Loop,Filter,所以我建立了这个json文件(),现在我可以检索数据了。但我想要实现的是使用for循环根据id过滤数据 我能够显示特定id的一项,但不能显示与该特定id相关的所有数据 因此,我必须更好地理解我试图解释的内容,通过JSFIDLE查看代码-> var json=[ { “id”:“1”, “经度”:“4.420556809486086”, “纬度”:“51.21703476701095”, “描述”:“van Mechelen车站”, “busnummer”:“14”, “名称”:“Mechel

所以我建立了这个json文件(),现在我可以检索数据了。但我想要实现的是使用for循环根据id过滤数据

我能够显示特定id的一项,但不能显示与该特定id相关的所有数据

因此,我必须更好地理解我试图解释的内容,通过JSFIDLE查看代码->

var json=[
{  
“id”:“1”,
“经度”:“4.420556809486086”,
“纬度”:“51.21703476701095”,
“描述”:“van Mechelen车站”,
“busnummer”:“14”,
“名称”:“Mechelen站”,
“布苏尔”:“14:45”,
“布森”:[
{  
“布斯努默”:“530”,
“busnaam”:“Aarshot-Tremelo-Keerbergen-Mechelen”,
“布沙尔特”:[
{  
“布沙尔特”:“Zandpoortvest”,
“安科姆斯图尔”:“17:40”
},
{  
“布沙尔特”:“拉格诺普林”,
“安科姆斯图尔”:“17:45”
},
{  
“布沙尔特”:“佩伦13号站”,
“安科姆斯图尔”:“17:52”
}
]
},
{  
“Busnumer”:“55”,
“busnaam”:“测试-测试-测试”,
“布沙尔特”:[
{  
“布沙尔特”:“测试1”,
“安科姆斯图尔”:“16:40”
},
{  
“布沙尔特”:“测试2”,
“安科姆斯图尔”:“16:45”
},
{  
“bushalte”:“测试3 perron 13”,
“安科姆斯图尔”:“16:52”
}
]
}
]
},
{  
“id”:“2”,
“经度”:“4.421180”,
“纬度”:“51.216227”,
“描述”:“van Mechelen车站”,
“Busnumer”:“180”,
“名称”:“安特卫普站”,
“布苏尔”:“14:45”,
“布森”:[
{  
“busnummer”:“630”,
“busnaam”:“busnaam 1 ID 2”,
“布沙尔特”:[
{  
“布沙尔特”:“大法”,
“安科姆斯图尔”:“14:40”
},
{  
“布沙尔特”:“法达斯”,
“安科姆斯图尔”:“14:45”
},
{  
“bushalte”:“afdas perron 13”,
“安科姆斯图尔”:“14:52”
}
]
},
{  
“busnummer”:“660”,
“busnaam”:“busnaam 2 ID 2”,
“布沙尔特”:[
{  
“布沙尔特”:“测试1”,
“安科姆斯图尔”:“13:40”
},
{  
“布沙尔特”:“测试2”,
“安科姆斯图尔”:“13:45”
},
{  
“bushalte”:“测试3 perron 13”,
“安科姆斯图尔”:“13:52”
}
]
}
]
}
];
var bushalte2=$(json).filter(函数(i,字段){return field.id==2;});

for(var i=0;i如果我理解正确,则需要为所有总线添加额外的for循环

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/>");        
      }    
}

for(var i=0;iI我不确定我是否理解您的问题,但您希望显示所选对象内的所有信息(id、long、lat、desc等)?我希望显示例如id 1中的所有总线号
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/>");        
      }    
}