create dom tree from json data
by Alexey Zakharov
JavaScript
/* Создайте дерево из объекта */
var data = {
"Рыбы": {
"Форель": {},
"Щука": {}
},
"Деревья": {
"Хвойные": {
"Лиственница": {},
"Ель": {}
},
"Цветковые": {
"Берёза": {"Цветковые": {
"Берёза": {},
"Тополь": {}
}},
"Тополь": {"Цветковые": {
"Берёза": {},
"Тополь": {}
},
"Цветковые2": {
"Берёза": {},
"Тополь": {}
},
"Цветковые": {
"Берёза": {},
"Тополь": {}
},
"Цветковые3": {
"Берёза": {"Цветковые": {
"Берёза": {"Цветковые": {
"Берёза": {},
"Тополь": {"Цветковые": {
"Берёза": {},
"Тополь": {}
}}
}},
"Тополь": {}
}},
"Тополь": {"Цветковые": {
"Берёза": {},
"Тополь": {}
}}
}}
}
}
};
var container = document.getElementById('container');
createTree(container, data); // создаёт
function isEmpty(obj) {
for (var key in obj) {
return false;
}
return true;
}
function createTree(container, data) {
if(isEmpty(data)) return;
var ul = document.createElement('ul');
for(var k in data) {
var li = document.createElement('li');
li.appendChild(document.createTextNode(k));
ul.appendChild(li);
createTree(ul, data[k]);
}
container.appendChild(ul);
}