Это мой JS ("данные" от вызова JSon):JSON Loop через вложенный массив
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) {'? в любом случае вы не можете пропустить объект внутри объявления строки! –
Почему у вас есть свойство 'person' как объекта, а не как массив, содержащий объекты? – Zim84
Возможный дубликат [Как перечислить свойства объекта javascript?] (Http://stackoverflow.com/questions/85992/how-do-i-enumerate-the-properties-of-a-javascript-object) –