ฉันมีไฟล์ json ที่ซับซ้อนซึ่งฉันต้องจัดการด้วยจาวาสคริปต์เพื่อทำให้เป็นลำดับชั้นเพื่อที่จะสร้างต้นไม้ในภายหลัง ทุกรายการของ json มี: id: id เฉพาะ, parentId: id ของโหนดพาเรนต์ (ซึ่งเป็น 0 ถ้าโหนดเป็นรูทของทรี) ระดับ: ระดับของความลึกในทรี
ข้อมูล json "สั่งซื้อ" แล้ว ฉันหมายความว่ารายการจะมีโหนดแม่หรือโหนดบราเดอร์เหนือตัวเองและภายใต้โหนดลูกหรือโหนดพี่ชาย
อินพุต:
{
"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
},
]
}
ผลลัพธ์ที่คาดหวัง:
{
"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
}
}
]
}
parentId
of 0
mean ไม่มีรหัสหลักและควรเป็นชั้นบนสุด