Javascript 通过JSON数组的jQuery循环
我有一个json数组,我通过ajax调用获取该数组,并希望循环遍历它。 数组输出一个类别titel和该类别内的一些数据记录。 数组如下所示:Javascript 通过JSON数组的jQuery循环,javascript,jquery,arrays,json,Javascript,Jquery,Arrays,Json,我有一个json数组,我通过ajax调用获取该数组,并希望循环遍历它。 数组输出一个类别titel和该类别内的一些数据记录。 数组如下所示: {"Travel":[{"title":"Beautiful title 1"},{"title":"Beautiful title 2"},{"title":"Beautiful title 3"}],"Other":[{"title":"Beautiful title 1"}]} 这样的基本每个功能都帮不了我 $.each(data, functio
{"Travel":[{"title":"Beautiful title 1"},{"title":"Beautiful title 2"},{"title":"Beautiful title 3"}],"Other":[{"title":"Beautiful title 1"}]}
这样的基本每个功能都帮不了我
$.each(data, function(key, value) {
console.log(value.title);
}
我想能够输出它的主要类别标题和下面有数据记录显示
例如,我希望它看起来像这样:
旅行(3项结果):
- 美丽的标题1
- 美丽的标题2
- 美丽的标题3
- 列表项
- 美丽的标题1
任何帮助都将不胜感激。谢谢。实际上你有一把旅行钥匙 所以你可以这样做:
$.each(data.Travel,function(key, value){
console.log(value.title);
}
var data={“旅行”:[{“标题”:“美丽的标题1”},{“标题”:“美丽的标题2”},{“标题”:“美丽的标题3”}],“其他”:[{“标题”:“美丽的标题1”}];
$。每个(数据、函数(键、值){
$('body').append($('').html(key+'('+value.length+'results'));
变量列表=$(“
”);
$('body')。追加(列表);
$.each(值、函数(索引、标题对象){
list.append(“”+titleObj.title+” );
});
});代码>
试试看
$。每个(数据、函数(键、值){
$(“
”{
“类”:key.toLowerCase(),
“html”:key+”(“+value.length+”结果)
”
}).append($.map)(值,函数(标题,i){
返回$(“”{
“html”:Object.keys(title)[0]+“:”+title.title
})[0]。outerHTML
})).附于(“主体”);
});
var数据={
“旅行”:[{
“标题”:“美丽的标题1”
}, {
“标题”:“美丽的标题2”
}, {
“标题”:“美丽的标题3”
}],
“其他”:[{
“标题”:“美丽的标题1”
}]
};
$。每个(数据、函数(键、值){
$(“
”{
“类”:key.toLowerCase(),
“html”:key+”(“+value.length+”结果)
”
}).append($.map)(值,函数(标题,i){
返回$(“”{
“html”:Object.keys(title)[0]+“:”+title.title
})[0]。outerHTML
})).附于(“主体”);
});代码>
由于数组包含嵌套对象,因此需要嵌套的.each()
$.each(data,function(i,object){
console.log(i +'('+object.length+')')
$.each(object, function (index, obj) {
console.log(obj.title);
});
});
我不能,因为类别标题是从数据库中提取的,可能有300个不同的类别,所以我永远不会知道所有的标题,否则我就已经知道了。它不是对象而不是数组吗?还是我遗漏了什么?谢谢你,这就成功了,修改了代码以满足我的需要。我已把你的答案标为正确答案@阿德里安:谢谢:)很高兴我帮了忙:)
$.each(data,function(i,object){
console.log(i +'('+object.length+')')
$.each(object, function (index, obj) {
console.log(obj.title);
});
});