我有以下JSON结构:
[{ "id":"10", "class": "child-of-9" }, { "id": "11", "classd": "child-of-10" }]
我如何使用JavaScript迭代它?
我有以下JSON结构:
[{ "id":"10", "class": "child-of-9" }, { "id": "11", "classd": "child-of-10" }]
我如何使用JavaScript迭代它?
当前回答
var arr = [{" id ":“10”,“类”:" child-of-9 "}, {" id ":“11”,“类”:“child-of-10”}); For (var I = 0;I < arrr .length;我+ +){ 文档。写("<br><br>数组索引:" + i); Var obj = arr[i]; For (var key in obj){ Var值= obj[key]; 文档。Write ("<br> - " + key + ": " + value "); } }
注意:for-in方法对于简单对象很酷。与DOM对象一起使用不是很明智。
其他回答
王侯的问题可能是使用jQuery时的最佳答案。
下面是纯JavaScript中非常类似的东西,使用JavaScript的forEach方法。forEach以函数作为参数。然后,将为数组中的每个项调用该函数,并将该项作为参数。
简短而简单:
var结果= [{" id ":“10”,“类”:“child-of-9”},{" id ":“十一”,“classd”:“child-of-10”}); results.forEach(函数(项){ console.log(项); });
从http://www.w3schools.com复制和粘贴,不需要JQuery开销。
var person = {fname:"John", lname:"Doe", age:25};
var text = "";
var x;
for (x in person) {
text += person[x];
}
结果:无名氏25人
mootools的例子:
var ret = JSON.decode(jsonstr);
ret.each(function(item){
alert(item.id+'_'+item.classd);
});
如果这是你的数据数组:
var dataArray = [{"id":28,"class":"Sweden"}, {"id":56,"class":"USA"}, {"id":89,"class":"England"}];
然后:
$(jQuery.parseJSON(JSON.stringify(dataArray))).each(function() {
var ID = this.id;
var CLASS = this.class;
});
对于嵌套对象,可以通过递归函数检索:
function inside(events)
{
for (i in events) {
if (typeof events[i] === 'object')
inside(events[i]);
else
alert(events[i]);
}
}
inside(events);
其中as events是json object。