У меня есть несколько вложенных массивов Json, которые мне нужно отобразить на веб-сайте. По сути, я экспортирую Hyper V хосты и их VMS и хочу отобразить их в формате HTML.
Я получаю данные из json нормально и помещается в переменную моего html-индекса в теге сценария. (Причина заключается в том, чтобы избежать необходимости веб-сервера, длинные истории имеют ограничения по работе)
У меня возникают проблемы с выяснением, как читать элементы массива и циклы вложений, чтобы отображать Hyper V в разделах, а затем перечислять их vms как div в каждом разделе.
Вот урезанная версия моих импортированных данных json (В моем html это одна длинная строка, расположенная здесь, чтобы ее было легче читать.
<script type="text/javascript">
var sample =
[
{
"host1.domain.com.au":[
{
"SERVER1":{
"Replication Status":"Nil",
"VM Name":"SERVER1",
"RAM":8,
"CPUs":4,
"Hard Drives":128849018880,
"IP Address":null
},
"SERVER2":{
"Replication Status":"Primary",
"VM Name":"SERVER2",
"RAM":8,
"CPUs":4,
"Hard Drives":128849018880,
"IP Address":null
}
}
]
},
{
"host2.domain.com.au":[
{
"SERVER3":{
"Replication Status":"Primary",
"VM Name":"SERVER3",
"RAM":8,
"CPUs":4,
"Hard Drives":107374182400,
"IP Address":"10.69.185.113"
},
"SERVER4":{
"Replication Status":"Primary",
"VM Name":"SERVER4",
"RAM":8,
"CPUs":2,
"Hard Drives":64424509440,
"IP Address":"10.69.185.25"
}
}
]
}
];
</script>
Пример того, что я хочу:
<section class="hyperv-host">
<h1>host1.domain.com.au</h1>
<div class="vm">
<h2>SERVER1</h2>
<div class="vm">
<h2>SERVER2</h2>
</section>
<section class="hyperv-host">
<h1>host2.domain.com.au</h1>
<div class="vm">
<h2>SERVER3</h2>
<div class="vm">
<h2>SERVER4</h2>
</section>
Я могу получить хосты по разделам, но это потребовало создания нового массива, в котором не было остальной части данных, поэтому я не мог вложить в него цикл. Так потерял.