语言 Java
实现内容是一列数据中pid关联父级关系处理成树形结构数据
- 数据结构
[
{
"id": "1",
"pid": "0",
"name": "1"
},
{
"id": "2",
"pid": "1",
"name": "2"
},
{
"id": "3",
"pid": "2",
"name": "3"
},
{
"id": "4",
"pid": "0",
"name": "4"
}
]
- 方法
//Node就是对应上面数据结构中参数的实体类
public List<Node> formatData(List<Node> nodeList,String pid){
List<Node> list=new LinkedList<Node>();
for (Node node:nodeList){
if (node.getPid().equals(pid)){
node.setChildren(formatData(nodeList,node.getId()));
list.add(node);
}
}
return list;
}
- 调用
formatData(nodeList,"0") //因为第一级pid为0所以传入0
- 效果
[
{
"id": "1",
"name": "1",
"pid": "0",
"children": [
{
"id": "2",
"name": "2",
"pid": "1",
"children": [
{
"id": "3",
"name": "3",
"pid": "2",
"children": []
}
]
}
]
},
{
"id": "4",
"name": "4",
"pid": "0",
"children": []
}
]
网友评论