JAVA8自带TreeUtils

tree.json
{
"code": 200,
"msg": "操作成功",
"data": [
{
"id": "310000",
"name": "电子商务",
"parentId": "000000"
},
{
"id": "310100",
"name": "大宗商品",
"parentId": "310000"
},
{
"id": "310101",
"name": "大宗商品综合",
"parentId": "310100"
},
{
"id": "310102",
"name": "钢铁类电商",
"parentId": "310100"
}
]
}
@GetMapping("testTreeUtils")
public List<TreeNode<String>> testTreeUtils() throws Exception {
ClassPathResource classPathResource = new ClassPathResource("data/tree.json");
InputStream fileInputStream =classPathResource.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, StandardCharsets.UTF_8);
StringBuilder sb = new StringBuilder();
int ch = 0;
while((ch = inputStreamReader.read())!=-1){
sb.append((char)ch);
}
inputStreamReader.close();
String treeStr = sb.toString();
JSONObject jsonObject = JSONObject.parseObject(treeStr);
JSONArray data = jsonObject.getJSONArray("data");
List<Category> categories = JSONArray.parseArray(data.toJSONString(), Category.class);
List<TreeNode<String>> node = TreeUtils.createNode(categories, "000000");
return node;
}
运行结果:

流创建树:


浙公网安备 33010602011771号