首先想验证自己的数据是不是JSON格式可以去 www.json.com 这个json格式检测工具来检测!!!

本地测试数据:

这是我本地查出来的数据:

转换成json就是下面格式:

具体代码:

需要的json包

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.1.41</version>
</dependency>

/**
* 递归查询节点
*/
@RequestMapping(value="quertRecursionOrder",produces ="text/plain;charset=utf-8")
@ResponseBody
public JSONObject findTree(){
JSONObject jsonMap = new JSONObject();
try {
//查询所有菜单    SELECT <include refid="RecursionScheam_Table"/>  FROM recursion  ORDER BY orders ASC
List<RecursionScheam> allMenu = treeService.quertRecursionOrder();
//根节点
List<RecursionScheam> rootMenu = new ArrayList<>();
for (RecursionScheam nav : allMenu) {
//父节点都是0
if(nav.getParentId().equals("0")){
rootMenu.add(nav);
}
}
//为根菜单设置子菜单,getClild是递归调用的
for (RecursionScheam recursionScheam : rootMenu) {
// 获取根节点下的所有子节点 使用getChild方法
List<RecursionScheam> childList = getChild(recursionScheam.getId(),allMenu);
//给根节点设置子节点
recursionScheam.setChildMenus(childList);
}

jsonMap.put("list", rootMenu);
System.err.println(jsonMap.toString());
} catch (Exception e) {
// TODO: handle exception
}

return jsonMap;
}

/**
   * 获取子节点
   * @param id 父节点id
   * @param allMenu 所有菜单列表
   * @return 每个根节点下,所有子菜单列表
   */
public List<RecursionScheam> getChild(String id,List<RecursionScheam> allMenu){
//子菜单
List<RecursionScheam> childList = new ArrayList<RecursionScheam>();
for (RecursionScheam nav : allMenu) {
// 遍历所有节点,将所有菜单的父id与传过来的根节点的id比较
//相等说明:为该根节点的子节点。
if(nav.getParentId().equals(id)){
childList.add(nav);
}
}
//递归
for (RecursionScheam navs : childList) {
navs.setChildMenus(getChild(navs.getId(),allMenu));
}
//如果节点下没有子节点,返回一个空List(递归退出)
if(childList.size() == 0){
return new ArrayList<RecursionScheam>();
}
return childList;
}

转载于:https://www.cnblogs.com/ysySelf/p/10308356.html

Tree树 递归查询,显示成JSON格式相关推荐

  1. 答题微信小程序实现(7):python3将题库处理成json格式的。

    通常来说,我们写答题程序的时候,拿到手的题库不会是json格式的,而是word或txt.pdf就像考试卷子那样的. 这里写一下用python3将普通题库处理成json格式,选择python3的原因是, ...

  2. python爬取豆瓣书籍、电影等搜索结果,并解析html转成json格式

    本文以豆瓣首页搜索图书.电影等结果页面为例,使用python的BeautifulSoup解析页面内标题.作者.出版社.评分.简介.缩略图等内容,并转成json格式进行存储. 声明:本文仅作学习pyth ...

  3. JAVA对象通过jackson转成json格式,属性名首字母变成小写的解决方法

    2019独角兽企业重金招聘Python工程师标准>>> java代码对象如下: package com.evideostb.billsystem.module.model;impor ...

  4. Jquery 将后台返回的字符串转换成Json格式的数据

    //code by:博客园-曹永思 第一步:将DataTable转换成 Json格式的数据 方法 一 View Code /// <summary>/// DataTable转成Json格 ...

  5. xml 文本转json java_java将XML文档转换成json格式数据

    本篇文章主要介绍了java将XML文档转换成json格式数据的示例,希望能帮助到大家. 功能 将xml文档转换成json格式数据 说明 依赖包: 1. jdom-2.0.2.jar : xml解析工具 ...

  6. 将对象集合包装成JSON格式

    import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.ArrayList; import ...

  7. vue-axios下载文件流blob,ie下载报传递给系统调用的数据区域太小.ie文件流下载报错;文件下载失败将blob的错误信息转换成json格式

    本次下载是后台文件流传输,前端下载,前端将拿到的下载id和名称downloadName传递给下载方法:如果是多个下载,可以采用数组for循环 情景描述: 1.如果符合导出条件, 后端直接返回数据流,如 ...

  8. php批量解析json,封装php类批量解析css成json格式_html/css_WEB-ITnose

    封装php类批量解析css成json格式 业务需求 我相信很多同学有过做一个自定义建站系统的想法,好比某空间的自定义拖拽组件,如果想要实现一个可视化建站系统,那CSS作为前端样式而言,是必须要存入到数 ...

  9. jsonArray:JavaBean,List,Map转成json格式(轉+整理)

    JSON与JAVA数据的转换 JavaBean,List,Map转成json格式 JS解析json数据(如何将json字符串转化为数组) 需要四個包: commons-beanutils-1.8.3. ...

最新文章

  1. SpringBoot集成Mybatis动态多数据源后,MybatisPlus的IPage失效的问题解决方案
  2. 指定的参数错误。Vim.Host.DiskPartitionInfo.-spec VSPHERE.LOCAL\Administrator WIN-DOPGQVRRU2C
  3. python之pydev安装
  4. Delphi控件的“拿来主义”
  5. “System.OutOfMemoryException”类型的异常在 mscorlib.dll 中发生,但未在用户代码中进行处理
  6. MVC HtmlHelper listbox用法
  7. caffe android lib
  8. DesignSurface简介
  9. 华为NP课程笔记19-镜像技术
  10. 总结2019,立2020flag
  11. PC usb蓝牙发射器
  12. 商务英语:外企工作邮件常用100句
  13. UDT长度的含义是什么?
  14. [我一直想看到的文章 好好保存赏析]微软、英特尔和摩根的比较
  15. 2016-年蓝桥杯C-(A组)赛题-网友年龄
  16. Nginx——缓存配置
  17. 暑期強檔 飯店業者與樂團結盟系列優惠
  18. Matlab归一化实现
  19. BT源代码学习心得(四):种子文件的生成
  20. 信息社会的金融技术架构

热门文章

  1. LintCode-244.删除字符
  2. 进程间通信线程间通信
  3. Javaweb之session创建销毁问题
  4. 关于使用 Python 析构函数的正确姿势
  5. TCP连接的99号和110号错误
  6. 会员体系架构的设计思路
  7. Rabbtmq 消费端-幂等性保障
  8. 简单工厂和 工厂设计模式--抽象工厂模式--Java实现
  9. linux搭建redis
  10. 将Eclipse中的工程保存到Github的操作步骤