核心代码块
private static List<SysMenuDTO> getLevelData(List<SysMenuDTO> menuList, String parentId) {
List<SysMenuDTO> menus = new ArrayList<>();
for (SysMenuDTO menu : menuList) {
if (parentId.equals(menu.getParentId())) {
List<SysMenuDTO> childList = getLevelData(menuList, menu.getMenuId());
if (!childList.isEmpty()) {
menu.setChildNode(childList);
} else {
menu.setChildNode(null);
}
menus.add(menu);
}
}
return menus;
}
使用
public String showMenu(){
List<SysMenuDTO> levelData = getLevelData(menuList, "0");
JSONArray json = new JSONArray((ArrayList) levelData);
return json.toString;
}