Restructure JSON array
http://stackoverflow.com/questions/32997827/restructure-json-array
JavaScript
var json = [{
"id": "1",
"children": [{
"id": "1-1",
"children": [{
"id": "1-1-1",
"children": []
}, {
"id": "1-1-2",
"children": []
}]
}, {
"id": "1-2",
"children": []
}]
}, {
"id": "2",
"children": []
}, {
"id": "3",
"children": [{
"id": "3-1",
"children": []
}]
}];
function restruct(arr) {
var result = {};
arr.forEach(function (obj) {
if (obj.children) {
obj.children = restruct(obj.children);
}
result[obj.id] = obj;
});
return result;
}
console.log(json);
console.log(restruct(json));