Я пытался преобразовать вложенный объект JSON в формат, в котором работает jquery ACCORDION.Я просмотрел много ссылок, но не смог найти правильного решения.Вот как выглядит мой JSON:
{
"A": {
"id": "0",
"B": {
"id": "1"
},
"C": {
"id": "2"
},
"D": {
"id": "3"
}
}
}
ПРИМЕЧАНИЕ: «B» или «C» или «D» могут быть дополнительно вложены, что приведет к вложенному формату аккордеона.
Я пробовалмного подходов, но результаты не то, что я ожидаю.Может кто-нибудь, пожалуйста, помогите мне.
Это один из моих подходов, который не работает:
function MakeAccordion(obj) {
var json = '<div class="accordion">';
for (var key in obj) {
if (typeof obj[key] == "object")
json = json + MakeAccordion(obj[key]);
if (typeof obj[key] != "object")
json = "<h3>" + json + " = " + obj[key] + "</h3>";
else
json = json + "</h3>";
}
return json + "</div>";
}
Ожидаемый результат:
<div class="accordion">
<h3>A</h3>
<div class="accordion">
<h3>B</h3>
<div>id = 0</div>
<h3>C</h3>
<div>id = 1</div>
<h3>D</h3>
<div>id = 2</div>
</div>
</div>
Мой вывод:
<div class="accordion">
<div class="accordion">
<h3>= 0</h3>
</div>
<div class="accordion">
<h3>= 1</h3>
</div>
</div>
<div class="accordion">
<h3>= 2</h3>
</div>
<div class="accordion">
<h3>= 3</h3>
</div>