引入依赖 < dependency> < groupId> </ groupId> < artifactId> </ artifactId> < version> </ version> </ dependency> 测试 @SpringBootTest 
public  class  HutoolTest  { private  List < Menu > =  new  ArrayList < > ( ) ; @BeforeEach public  void  init ( )  { menuList. add ( new  Menu ( 1L ,  0L ,  "一级菜单" ,  1 ,  "first" ,  LocalDateTime . now ( ) ) ) ; menuList. add ( new  Menu ( 2L ,  1L ,  "二级菜单" ,  1 ,  "second" ,  LocalDateTime . now ( ) ) ) ; menuList. add ( new  Menu ( 3L ,  2L ,  "三级菜单" ,  1 ,  "first" ,  LocalDateTime . now ( ) ) ) ; menuList. add ( new  Menu ( 4L ,  0L ,  "一级菜单-1" ,  2 ,  "first-1" ,  LocalDateTime . now ( ) ) ) ; } @Test public  void  testBuildTree ( )  { TreeNodeConfig  config =  new  TreeNodeConfig ( ) ; config. setIdKey ( "id" ) ; config. setParentIdKey ( "pid" ) ; config. setChildrenKey ( "children" ) ; config. setNameKey ( "name" ) ; config. setWeightKey ( "weight" ) ; List < Tree < Long > > =  TreeUtil . build ( menuList,  0L ,  config,  new  NodeParser < Menu ,  Long > ( )  { @Override public  void  parse ( Menu  menu,  Tree < Long > )  { tree. setId ( menu. id) ; tree. setParentId ( menu. pid) ; tree. setName ( menu. name) ; tree. setWeight ( menu. weight) ; Map < String ,  Object > =  new  HashMap ( ) ; map. put ( "code" ,  menu. code) ; map. put ( "createTime" ,  menu. createTime) ; tree. putAll ( map) ; } } ) ; System . out. println ( JSONUtil . toJsonStr ( treeList) ) ; } class  Menu  { private  Long  id; private  Long  pid; private  String  name; private  Integer  weight; private  String  code; private  LocalDateTime  createTime; public  Menu ( Long  id,  Long  pid,  String  name,  Integer  weight,  String  code,  LocalDateTime  createTime)  { this . id =  id; this . pid =  pid; this . name =  name; this . weight =  weight; this . code =  code; this . createTime =  createTime; } } 
} 结果 [{"id": 1,"pid": 0,"name": "一级菜单","code": "first","createTime": "first","children": [{"id": 2,"pid": 1,"name": "二级菜单","code": "second","createTime": "second","children": [{"id": 3,"pid": 2,"name": "三级菜单","code": "first","createTime": "first"}]}]},{"id": 4,"pid": 0,"name": "一级菜单-1","code": "first-1","createTime": "first-1"}
]