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));