在JavaScript中构建树形JSON的方法有多种。下面是一种常见的方法:
class Node {
constructor(id, name, parentId) {
this.id = id;
this.name = name;
this.parentId = parentId;
this.children = [];
}
}
const nodeMap = {};
const rawData = [
{ id: 1, name: 'Node 1', parentId: null },
{ id: 2, name: 'Node 1.1', parentId: 1 },
{ id: 3, name: 'Node 1.2', parentId: 1 },
{ id: 4, name: 'Node 2', parentId: null },
{ id: 5, name: 'Node 2.1', parentId: 4 },
{ id: 6, name: 'Node 2.2', parentId: 4 },
];
rawData.forEach(item => {
const node = new Node(item.id, item.name, item.parentId);
nodeMap[item.id] = node;
});
Object.values(nodeMap).forEach(node => {
if (node.parentId) {
const parent = nodeMap[node.parentId];
parent.children.push(node);
}
});
const rootNodes = Object.values(nodeMap).filter(node => !node.parentId);
const treeJson = JSON.stringify(rootNodes);
这样,你就可以在JavaScript中构建树形JSON了。树形JSON在前端开发中常用于构建树状结构的数据,例如菜单、分类等。在构建树形JSON时,可以根据实际需求进行适当的调整和扩展。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云云数据库(TencentDB)可用于支持JavaScript开发和存储数据。你可以访问腾讯云官网了解更多产品信息:
领取专属 10元无门槛券
手把手带您无忧上云