java 将数据库中的数据转化为easyUI treegrid json格式
来源:互联网 发布:国际网络加速器 编辑:程序博客网 时间:2024/05/18 00:59
最近一直和json打交道,对于树形数据我一般都是递归操作。
思路:
/**
* 需求:将数据库中数据转化为json tree数据格式
* 步骤:1.将数据通过id找到父子关系,建立tree
* 2.将tree转换为json格式
* 需要写两个递归函数
*/
代码:
public static Map<Column_manager,Map> inflateTreeMap(Map<Column_manager,Map> map,Column_manager cm){if(cm.getPid()==-1){//根节点map.put(cm, null);return map;}else{for(Entry<Column_manager,Map> entry:map.entrySet()){if(entry.getValue()!=null){ //如果有子节点if(entry.getKey().getId()==cm.getPid()){//本节点是否就是寻找的节点entry.getValue().put(cm, null);break;}else{map = inflateTreeMap(entry.getValue(),cm);}}else{//如果没有子节点if(entry.getKey().getId()==cm.getPid()){Map<Column_manager,Map> m = new HashMap<Column_manager,Map>();m.put(cm, null);entry.setValue(m);break;}}}return map;}}public static StringBuffer treeToJson(Map<Column_manager,Map> map,StringBuffer sb){sb.append("[");for(Entry<Column_manager,Map> entry : map.entrySet()){if(entry.getValue()!=null){//有下级节点sb.append("{");sb.append("\"id\":");sb.append(entry.getKey().getId());sb.append(",");sb.append("\"name\":");sb.append("\""+entry.getKey().getColumnName()+"\"");sb.append(",");sb.append("\"person\":");sb.append(entry.getKey().getCheckId());sb.append(",");sb.append("\"children\":");sb = treeToJson(entry.getValue(),sb);sb.append("},");}else{sb.append("{");sb.append("\"id\":");sb.append(entry.getKey().getId());sb.append(",");sb.append("\"name\":");sb.append("\""+entry.getKey().getColumnName()+"\"");sb.append(",");sb.append("\"person\":");sb.append(entry.getKey().getCheckId());sb.append("},");}}sb.append("]");int index=0;int from=0;while((index = sb.indexOf("},",from))!=-1){ //处理掉多余的,if(sb.substring(index+2, index+3).equals("]")){sb = sb.replace(index+1, index+2, "");}from+=index;}return sb;}
转换后的json数据:
[{"id":22,"name":"aaa","person":2,"children":[{"id":23,"name":"aa33a","person":2}]},{"id":19,"name":"aaa","person":2,"children":[{"id":20,"name":"aaa","person":2},{"id":21,"name":"aa2a","person":2}]}]
阅读全文
0 0
- java 将数据库中的数据转化为easyUI treegrid json格式
- c#将数据库数据转换为json格式(使用extjs,easyui中的datagrid)
- dom4j将数据库中的数据转化为xml格式
- java 将 ResultSet 转化为 json格式
- java递归解析easyui treegrid json数据
- java将数据转化成json格式
- java将数据转化成json格式
- java对象转化为json格式数据
- 利用Shell脚本将MySQL表中的数据转化为json格式
- java 构造 easyui 的treegrid 所需要的json格式
- php将从数据库查询到的数据转化为json格式,并写入json文件中
- EasyUI treegrid 生成json格式的方法
- java获取excel中数据,并转化为JSON格式
- 如何将字符串转化为json格式
- 将对象转化为JSON格式字符串
- 将json字符串转化为json数组,以及转化为java中的集合
- List<T>集合转换为EasyUI TreeGrid所需要的Json格式通用工具
- List<T>集合转换为EasyUI TreeGrid所需要的Json格式通用工具
- java基础总结四(数组、switch语句)
- hpuoj 【1043】人见人爱A+B【数学】
- Network In Network
- oracle 查看用户所在的表空间
- 梳理Ubuntu命令(文件查找和比较)---strings
- java 将数据库中的数据转化为easyUI treegrid json格式
- node学习之路(二)Buffer对象
- 小希的迷宫 (并查集)
- 基于xilinx FPGA验证ASIC可能遇到的timing问题
- 排序算法——希尔排序
- BZOJ 3529 莫比乌斯反演 + 离线 + 树状数组动态维护前缀和
- Django1.11下后台中文的显示
- 跳表SkipList
- mysql 三个表索引优化案例