Javascript JSON循环计数不超过1个条目
我正在阅读一些json代码,最后添加了一个日志,可以给我id。 我的问题是,虽然有2个条目,但日志只计数1,并在那里停止Javascript JSON循环计数不超过1个条目,javascript,jquery,json,Javascript,Jquery,Json,我正在阅读一些json代码,最后添加了一个日志,可以给我id。 我的问题是,虽然有2个条目,但日志只计数1,并在那里停止 var json = [{"main":[{ "id" : "1", "msg" : "hi", "tid" : "2013-05-05 23:35", "fromWho": "hello1@email.se" }, { "id" : "2", "msg" : "there", "tid" : "2013-0
var json = [{"main":[{
"id" : "1",
"msg" : "hi",
"tid" : "2013-05-05 23:35",
"fromWho": "hello1@email.se"
},
{
"id" : "2",
"msg" : "there",
"tid" : "2013-05-05 23:45",
"fromWho": "hello2@email.se"
}]}];
for(var i = 0; i < json.length; i++) {
var obj = json[i];
console.log(obj['main'][i].id);
}
为什么只计算1而不计算2?您有一个包含1个元素“main”的数组,而在“main”中有一个包含2个元素的数组 更改为:
for(var i = 0; i < json[0].length; i++) {
console.log(json[0][i].id);
}
因为必须通过json[0].main循环,而不是通过json…发生这种情况是因为数组包含一个对象。我想您需要访问主属性:
for(var i = 0; i < json[0].main.length; i++) {
console.log(json[0].main[i].id);
}
var json=[{main:[{
id:1,
味精:嗨,
tid:2013-05-05 23:35,
世卫组织:hello1@email.se
},
{
id:2,
味精:那里,
tid:2013-05-05 23:45,
世卫组织:hello2@email.se
}]}];
forvar i=0;ivar _getMain = json[0].main // will return main array;
_getMain.forEach(function(item){
document.write('<pre>'+item.id+'</pre>')
})
这里的一些答案会把你搞糊涂的!他们忽略了一个事实,即在数组中的对象中有一个数组 json是一个数组,包含1个元素 该对象有一个本身是数组的属性main 这是您尝试循环通过的第三级阵列 var json=[{main:[{ id:1, 味精:嗨, tid:2013-05-05 23:35, 世卫组织:hello1@email.se }, { id:2, 味精:那里, tid:2013-05-05 23:45, 世卫组织:hello2@email.se }]}]; forvar i=0;i