Getjson和.each()函数.需要搜索/循环在第二层
getjson and .each() function. Need to search/loop on 2nd level
下面的脚本返回2个警报(F3和S1)。我需要4个警报(F1, F2, F3和S1) -这是所有服务的主机名。
我猜每个函数都在创建一个不包含双元组的数组-所以它只给我一个-最后一个F3。
如何获得所有业务的host_names
?我不能更改输入的数据。
脚本:
<script>
$(function () {
var status = [];
$.ajaxSetup({
cache: false
});
$.getJSON('status.php', function (data) {
$.each(data.services, function (i, f) {
alert(f.host_name);
});
});
});
</script>
status.php输出:
{
"hosts": {
"modified_host": "0",
"modified_serv": "0"
},
"services": {
"HTTPS": {
"host_name": "F1",
"service_description": "HTTPS"
},
"HTTPS": {
"host_name": "F2",
"service_description": "HTTPS"
},
"HTTPS": {
"host_name": "F3",
"service_description": "HTTPS"
},
"HTTP": {
"host_name": "S1",
"service_description": "HTTP"
}
}
}
在JSON String的同一层中不能有多个相同的索引。例如:尝试JSONLint你的字符串,你会得到:
{
"hosts": {
"modified_host": "0",
"modified_serv": "0"
},
"services": {
"HTTPS": {
"host_name": "F3",
"service_description": "HTTPS"
},
"HTTP": {
"host_name": "S1",
"service_description": "HTTP"
}
}
}
这就是JSON.parse() -调用(我猜)$。getJSON -,返回。
您的status.php
需要返回'services'数组:
"services": [{
"host_name" : "F1",
"service_description": "HTTPS"
}, {
"host_name" : "F2",
"service_description": "HTTPS"
}, {
"host_name" : "F3",
"service_description": "HTTPS"
}, {
"host_name" : "S1",
"service_description": "HTTP"
}
]
相关文章:
- Javascript在数组中循环搜索字符
- 在二维数组中搜索比嵌套循环更有效的方法
- 将基于 cheerio 的搜索循环添加到节点简单爬网器中
- 搜索后循环浏览数组
- 谷歌表格循环搜索字符串并清除相邻单元格
- 使用过多的 for() 循环在数组中搜索匹配项的替代方法
- JavaScript 循环字母表与搜索词
- 循环并搜索localStorage中的所有项目
- 对于循环搜索ID's的Javascript
- 从json文件循环并搜索,然后通过jquery和json获取值
- 什么'我的JavaScript搜索递归循环有问题
- 为什么我不能通过循环数组来搜索UserAgent的值
- 使用jQuery循环浏览twitter搜索JSON
- 在循环中搜索字符串中的字符
- Getjson和.each()函数.需要搜索/循环在第二层
- 循环jstree以搜索节点id的所有出现,然后更改这些节点的类
- 搜索字符串查找名称,并使用for循环记录每次出现的名称
- jQueryajax成功页面中的搜索框-循环中的问题
- json文件中的搜索循环
- 通过循环访问数组来搜索文档中的关键字