,可以通过以下步骤实现:
[
{ "id": 1, "parent_id": null },
{ "id": 2, "parent_id": 1 },
{ "id": 3, "parent_id": 1 },
{ "id": 4, "parent_id": 2 },
{ "id": 5, "parent_id": 2 },
{ "id": 6, "parent_id": 3 },
{ "id": 7, "parent_id": 3 }
]
let jsonHierarchy = {};
for (let i = 0; i < rawData.length; i++) {
let node = rawData[i];
let nodeId = node.id;
let parentNodeId = node.parent_id;
// Check if parent node exists in the hierarchy
if (jsonHierarchy[parentNodeId]) {
// Parent node exists, add current node as its child
if (!jsonHierarchy[parentNodeId].children) {
jsonHierarchy[parentNodeId].children = [];
}
jsonHierarchy[parentNodeId].children.push(node);
} else {
// Parent node does not exist, add current node as root
jsonHierarchy[nodeId] = node;
}
}
let jsonHierarchyString = JSON.stringify(jsonHierarchy);
console.log(jsonHierarchyString);
通过以上步骤,你可以从父子id的原始数据创建一个完整的Json层次结构。这种层次结构可以方便地表示和操作树形数据,适用于各种场景,如组织结构、目录结构等。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云