如何循环json对象数组jquery?
问题描述:
我想循环json数组对象的输出并访问其元素如何做到这一点? 那JSON阵列对象的输出在其上进行查询如何循环json对象数组jquery?
Object {0: Object, 1: Object, 3: Object, 5: Object}
0:Object
certificate:""
country:"Egypt"
created_at:"2017-04-26 20:39:22"
description:" "
end_date:"2017-04-22"
event_id:1
id:1
name:"Project Management"
pic:"4537c00b63a920f5d1a49bd37b01e789.jpg"
1:Object
3:Object
5:Object
我试图写这样的代码之后,但它没有工作我只是仅访问第一和第二元件。看来我没有写出正确的循环。它拒绝访问第三和第四个要素。它必须用旁边写的数字来做一些事情。
var arr = JSON.parse(this.responseText);
console.log(arr);
var count = Object.keys(arr).length;
console.log(Object.keys(arr).length);
if (count != 0) {
for (var i = 0; i < count; i++) {
if (arr[i].type == "img")
var image = document.createElement("img");
var e = "/storage/" + arr[i].pic.replace("\\", "");
image.src = e;
}
}
答
问题在于对象中的属性名称不是连续的数字。你的对象中没有arr[2]
。您的代码旨在循环遍历每个元素中包含对象的数组,而不是缺少键的对象。
使用jQuery $.each()
函数来遍历对象。
var img;
$.each(arr, function(key, obj) {
if (obj.type == 'img') {
img = document.createElement("img");
img.src = "/storage/" + obj.pic.replace('\\', '');
}
});
答
输出
最简单的方式JSON对象进行日志记录:
JSON.stringify(your_json_object);
刚刚看到您的更新,我认为要做到这一点: how to iterate over inner objects/property in an object
+0
问题是我想访问所有属性不只是一个 –
谢谢,它的工作 –