这是我的JS( “数据” 是从JSON调用):JSON遍历嵌套数组
if (data.projectReports.length) {
for (var i in data.projectReports){
var report = data.projectReports[i];
$('#reports').append(
'<div class="report-description">' +
'<h2>' + report.header + '</h2>' +
'<p>' + report.text + '</p>' +
'</div>' +
'<ul class=\"report-moreinfo\">' +
// I want to loop through "persons" here.
'</ul>'
);
}
} else
. . .
这是我的JSON:
{
"projectReports":[
{
"header":"Headline",
"text":"Description of item",
"estimate":10,
"actual":7,
"persons":{
"Robert":5,
"Erik":10,
"Juan":3
}
}
]
}
我是新来的JSON和搜索之后作为回答,实际上找到了几个不同的答案,出现了新问题,所以我想我会在这里发布整个问题。
评论是在我的JavaScript代码中,我想通过report.persons
循环。
在我发现的所有解决方案中,他们可以直接指向“标题”或“文本”,就像我以前做过的那样,但在这种情况下,我只是拥有一个键和值。我会如何去做这样的事情?
<li><p> persons.key </p><p> persons.value </p></li>
我明白,我将不得不做另一个for
循环,但我的知识是不够好,能够找出我自己如何构建它。
'for(var i in report.persons){'?无论如何,你不能通过一个字符串声明中的对象循环! –
为什么你有财产'人'作为一个对象,而不是一个数组持有对象? – Zim84
可能的重复[如何枚举JavaScript对象的属性?](http://stackoverflow.com/questions/85992/how-do-i-enumerate-the-properties-of-a-javascript-object) –