循环获取json中key为变量时所对应的值

循环获取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+''];  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值