我的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的值了