JS获取Json值以及通过值获取索引

版权声明: https://blog.csdn.net/Bibabu135766/article/details/81480342

我的JSON格式是这样(大概截取一段展示下):

"result":{
        "total":179,
        "list":[
            {
                "id":"b8:27:eb:8d:dd:c8",
                "hostname":"2l3f-wt-board",
                "osversion":"3.5.1",
                "osbuild":"14009",
                "resolution":"1360x768",
                "ip":"10.99.105.156",
                "monitor":"SHARP_HDMI",
                "lastupdate":1533607224293,
                "append":{
                    "lostheartbeat":false,
                    "cputemperature":61.2
                }
            },
            {
                "id":"b8:27:eb:c4:d7:6c",
                "hostname":"D-Office",
                "osversion":"3.5.1",
                "osbuild":"14009",
                "resolution":"1360x768",
                "ip":"10.99.67.141",
                "monitor":"5000_Series",
                "lastupdate":1533607215300,
                "append":{
                    "lostheartbeat":false,
                    "cputemperature":52.6
                }
            },
            {
                "id":"b8:27:eb:97:a9:5a",
                "hostname":"SCC-Andon",
                "osversion":"3.5.1",
                "osbuild":"14009",
                "resolution":"1920x1080",
                "ip":"169.254.88.215",
                "monitor":"Mi_TV",
                "lastupdate":1533607214146,
                "append":{
                    "lostheartbeat":false,
                    "cputemperature":41.9
                }
            },
    ]
}

首先我们来获取对应的值,比如获取ip:

//将JSON转化下
        data = $.parseJSON(TextBox1.value);
        //遍历json
        for (i in data) {
            var list = data[i].list
            for (a in list) {
               list[a].ip
            }
        }

反之如果我知道ip多少,如何查找该ip对应的其他key的值呢?

思路:

1,我们可以将ip先一次性全部从json中拿出来且转换成数组:

        //将JSON转化下
        data = $.parseJSON(TextBox1.value);
        //遍历json
        for (i in data) {
            var list = data[i].list
            var AllIp;
            for (a in list) {
                AllIp += list[a].ip + ",";
            }
            var IPArry = AllIp.split(",");
        }

2,如上代码IPArry 即获取到所有ip,现在就好办了,知道ip,就很容易获取器索引了:

var result = IPArry.indexOf(‘iP’);

3,获取到索引,那就很容易获取到该ip对应的其他key的值了

猜你喜欢

转载自blog.csdn.net/Bibabu135766/article/details/81480342