I have a complex json file that I have to handle with javascript to make it hierarchical, in order to later build a tree.Every entry of the json has :id : a unique id, parentId : the id of the parent node (which is 0 if the node is a root of the tree)level : the level of depth in the tree
The json data is already "ordered". I mean that an entry will have above itself a parent node or brother node, and under itself a child node or a brother node.
Input :
{"People": [ {"id": "12","parentId": "0","text": "Man","level": "1","children": null }, {"id": "6","parentId": "12","text": "Boy","level": "2","children": null }, {"id": "7","parentId": "12","text": "Other","level": "2","children": null }, {"id": "9","parentId": "0","text": "Woman","level": "1","children": null }, {"id": "11","parentId": "9","text": "Girl","level": "2","children": null } ],"Animals": [ {"id": "5","parentId": "0","text": "Dog","level": "1","children": null }, {"id": "8","parentId": "5","text": "Puppy","level": "2","children": null }, {"id": "10","parentId": "13","text": "Cat","level": "1","children": null }, {"id": "14","parentId": "13","text": "Kitten","level": "2","children": null }, ]}
Expected output :
{"People": [ {"id": "12","parentId": "0","text": "Man","level": "1","children": [ {"id": "6","parentId": "12","text": "Boy","level": "2","children": null }, {"id": "7","parentId": "12","text": "Other","level": "2","children": null } ] }, {"id": "9","parentId": "0","text": "Woman","level": "1","children": {"id": "11","parentId": "9","text": "Girl","level": "2","children": null } } ], "Animals": [ {"id": "5","parentId": "0","text": "Dog","level": "1","children": {"id": "8","parentId": "5","text": "Puppy","level": "2","children": null } }, {"id": "10","parentId": "13","text": "Cat","level": "1","children": {"id": "14","parentId": "13","text": "Kitten","level": "2","children": null } } ]}