Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 根据索引名动态解析JSON数据_Javascript_Jquery_Arrays_Json - Fatal编程技术网

Javascript 根据索引名动态解析JSON数据

Javascript 根据索引名动态解析JSON数据,javascript,jquery,arrays,json,Javascript,Jquery,Arrays,Json,如何根据索引名解析此对象数据。我与大家分享一个数据示例。但在实际项目中,我也得到了大量的索引和子json数据。 下面是JSON数据示例: var vehicles = { 'cars':[ { "name":"Car 1", "model":"Car 1 Model 1" }, { "name":"Car 2",

如何根据索引名解析此对象数据。我与大家分享一个数据示例。但在实际项目中,我也得到了大量的索引和子json数据。
下面是JSON数据示例:

var vehicles = {
        'cars':[
            {
                "name":"Car 1",
                "model":"Car 1 Model 1"
            },
            {
                "name":"Car 2",
                "model":"Car 2 Model 2"
            },
        ],
        'bikes':[
            {
                "name":"Bike 1",
                "model":"Bike Model 1",
            },
            {
                "name":"Bike 2",
                "model":"Bike Model 2",
            }
        ],
        'buses':[
            {
                "name":"Bus 1",
                "model":"Bus Model 1",
            },
            {
                "name":"Bus 2",
                "model":"Bus Model 2",
            }
        ],
    }
我从服务器上动态获取此信息。在这个json数据包中,数据是汽车/自行车/公共汽车。但也可以是不同的名字。
问题是如何根据cars/bikes访问Car 1或Bike 1,而无需如下定义

console.log(vehicles.buses[0].name);
Output : Bus 1
如果您看到这里定义的总线。我想动态地这样做。
如何做?

如果我理解了您的问题,您希望能够在运行前访问属性中的每个数组,而不知道属性的名称

因此,您可以使用
Object.keys()
集合和括号符号来访问数组,如下所示:

Object.keys(vehicles).forEach((key) => {
  console.log(vehicles[key][0].name);
});
var车辆={
“汽车”:[{
“名称”:“1号车”,
“车型”:“1号车车型1”
}, {
“名称”:“车辆2”,
“车型”:“汽车2车型2”
}],
“自行车”:[{
“名称”:“自行车1”,
“型号”:“自行车型号1”,
}, {
“名称”:“自行车2”,
“型号”:“自行车型号2”
}],
‘巴士’:[{
“名称”:“总线1”,
“型号”:“总线型号1”
}, {
“名称”:“总线2”,
“型号”:“总线型号2”
}],
“福”:[{
“名称”:“Foo 1”,
“模型”:“Foo模型1”
}, {
“名称”:“Foo 2”,
“模型”:“Foo模型2”
}]
}
对象。键(车辆)。forEach((键)=>{
console.log(车辆[key][0].名称);

});创建一个函数,在该函数中映射车辆类型数组并返回名称:

var车辆={
汽车:[{
名称:“1号车”,
车型:“1号车车型1”
}, {
名称:“汽车2”,
车型:“汽车2车型2”
}],
自行车:[{
名称:“自行车1”,
型号:“自行车型号1”
}, {
名称:“自行车2”,
型号:“自行车型号2”
}],
巴士:[{
名称:“巴士1号”,
型号:“巴士型号1”
}, {
名称:"巴士2",,
型号:“公共汽车型号2”
}]
};
函数getVehicleNames(类型){
return Object.keys(vehicles[type]).map(key=>vehicles[type][key].name)
}
函数getAllVehicleNames(){
返回对象.keys(车辆).map(类型=>{
返回{[type]:Object.keys(vehicles[type]).map(key=>vehicles[type][key].name)}
})
}
//控制台日志(获取车辆名称(“总线”))
//控制台日志(获取车辆名称(“cars”))

console.log(getAllVehicleNames())
正是我要找的@Rorywhen它从服务器动态获取,而你不知道它的巴士或汽车呢@symlink@RiponUddin然后你必须循环遍历整个vehicles对象。我正在寻找这个@symlink,尽管答案1对我有用。@Riponaddin请看我的editam从服务器获取72572行。在DataTable上显示需要4-5分钟。有什么办法可以让它快点吗?