java-树形json对象
来源:互联网 发布:php是做前端还是后端 编辑:程序博客网 时间:2024/06/05 17:52
原理:
1.定义json格式javabean: id,name,child...
2. 查询数据库里数据: id,pid,name...
3. 判断pid==0 或 == null 将root(可以多个)放入List <定义实体>rootList 中
4. 将pid相同的归到一个map中(剃掉root的):map.put(pid,List)
5. 循环rootList,遍历pid与当前id一致的放入chilid中,再遍历chilid
public List<MenueInfo> getMenuTree(){
// 查询Menue
List<Menue> menueList = MenueService.queryAllMenue();
//定义rootList
List<MenueInfo> rootMenueList = new ArrayList();
//定义map
Map<Long, List<MenueInfo>> childMenueMap = new HashMap();
for (int i = 0; i < menueList.size(); i++){
if (menue.getParentId() == null || menue.getParentId().equals("")) {
rootMenueList.add(menueinfo);
} else {
if (childMenueMap.get(menue.getParentId()) == null) {
List<MenueInfo> childList = new ArrayList();
childList.add(menueinfo);
childMenueMap.put(menue.getParentId(), childList);
} else {
List<MenueInfo> childList = childMenueMap.get(menue
.getParentId());
childList.add(menueinfo);
childMenueMap.put(menue.getParentId(), childList);
}
}
}
for (int i = 0; i < rootMenueList.size(); i++) {
makeChildren(rootMenueList.get(i), childMenueMap);
}
return rootMenueList;
public void makeChildren(MenueInfo parentMenueInfo,
Map<Long, List<MenueInfo>> childMenueMap) {
Long parentId = parentMenueInfo.getMenueId();
Iterator iter = childMenueMap.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry<Long, List<MenueInfo>> entry = (Map.Entry) iter.next();
Long pId = entry.getKey();
List<MenueInfo> childMenueList = entry.getValue();
if (parentId == pId) {
parentMenueInfo.setChildMenue(childMenueList);
childMenueMap.remove(pId);
for (int i = 0; i < childMenueList.size(); i++) {
makeChildren(childMenueList.get(i), childMenueMap);
}
break;
}
}
}
- java-树形json对象
- EASYUI 树形菜单 fastjson JAVA嵌套对象转JSON
- Java 将list集合转化成树形结构的JSON对象
- Json树形结构数据转Java对象并存储到数据库的实现-超简单的JSON复杂数据处理
- Json树形结构数据转Java对象并存储到数据库的实现-超简单的JSON复杂数据处理 .
- Java递归算法构造JSON树形结构
- java 树形结构转换为json字符串
- java+mysql递归拼接树形JSON列表
- java 对象json互转
- java对象转json
- java对象转JSON
- java 创建json对象
- java对象转json
- java对象转JSON
- java对象转json
- json 转为java对象
- Java解析Json对象
- json转java对象
- PXE批量部署linux操作系统--马哥
- 翻转子串
- 【转载】matlab安装新工具箱(很简单)
- Eclipse配置Tomcat
- Hive详解
- java-树形json对象
- SpringMVC入门Demo
- QPS到26---工具用http_load
- 使用android studio过程中遇到的异常
- mybatis generator 使用指南
- #pragma once 与 #ifdef 的区别
- Failed to resolve: com.android.support:appcompat-v7:23.2.0的问题
- 第四届_翻硬币
- iOS面试题汇总