JSONArray无极限树形结构菜单(精简版)

注意:JSONArray和JSONObject导入的jar路径是net.sf.json路径

  1. //菜单树形结构  
  2.    public JSONArray treeMenuList(JSONArray menuList, int parentId) {  
  3.        JSONArray childMenu = new JSONArray();  
  4.        for (Object object : menuList) {  
  5.            JSONObject jsonMenu = JSONObject.fromObject(object);  
  6.            int menuId = jsonMenu.getInt("id");  
  7.            int pid = jsonMenu.getInt("parentId");  
  8.            if (parentId == pid) {  
  9.                JSONArray c_node = treeMenuList(menuList, menuId);  
  10.                jsonMenu.put("childNode", c_node);  
  11.                childMenu.add(jsonMenu);  
  12.            }  
  13.        }  
  14.        return childMenu;  
  15.    } 

  1. public static void main(String args[]) {  
  2.        MenuCacheService menuCacheService = new MenuCacheService();  
  3.        JSONArray jsonArray = new JSONArray();  
  4.        Menu menu1 = new Menu();  
  5.        menu1.setId(1);  
  6.        menu1.setParentId(0);  
  7.        menu1.setLevel(0);  
  8.        Menu menu2 = new Menu();  
  9.        menu2.setId(2);  
  10.        menu2.setParentId(0);  
  11.        menu2.setLevel(0);  
  12.        Menu menu3 = new Menu();  
  13.        menu3.setId(3);  
  14.        menu3.setParentId(2);  
  15.        menu3.setLevel(1);  
  16.        Menu menu4 = new Menu();  
  17.        menu4.setId(4);  
  18.        menu4.setParentId(2);  
  19.        menu4.setLevel(1);  
  20.        Menu menu5 = new Menu();  
  21.        menu5.setId(5);  
  22.        menu5.setParentId(4);  
  23.        menu5.setLevel(2);  
  24.        Menu menu6 = new Menu();  
  25.        menu6.setId(6);  
  26.        menu6.setParentId(1);  
  27.        menu6.setLevel(1);  
  28.   
  29.        jsonArray.add(menu1);  
  30.        jsonArray.add(menu2);  
  31.        jsonArray.add(menu3);  
  32.        jsonArray.add(menu4);  
  33.        jsonArray.add(menu5);  
  34.        jsonArray.add(menu6);  
  35.   
  36.        System.out.print(menuCacheService.treeMenuList(jsonArray,0));  
  37.    }  

你可能感兴趣的:(java)