循环获取json中key为变量时所对应的值
后台返回的json 数组
{
"dataInfo": {
"centos_restore1": {
"dataStore": "[datastore1]",
"vmName": "centos_restore1"
},
"centos_restore2": {
"dataStore": "[datastore1]",
"vmName": "centos_restore2"
},
"centos": {
"dataStore": "[datastore1]",
"vmName": "centos"
},
"win7_64": {
"dataStore": "[datastore1]",
"vmName": "win7_64"
}
},
"data": [
"win7_64",
"centos",
"centos_restore1",
"centos_restore2"
]
}
需求
对json里面的data循环,获取到虚拟机名称,然后以该名称作为dataInfo的key,获取key中的数据。
获取方法
此时不能用 . 这种方式获取,需通过数组这种方式
var vmList = res.data;
var vmInfoDiv="";
for(var j=0; j<vmList.length; j++){
var vmName = vmList[j];
var dataStore = dataInfo[vmName].dataStore;
...
}
附带json的key/值获取方式
1、使用eval解析方式
var valueK = eval('obj.'+key);
2、遍历Json串获取其属性
for(var attr in jsonObject){
var value = jsonObject[attr];
}
3、直接获取
var value = jsonObject[''+key+''];