Tree树 递归查询,显示成JSON格式
首先想验证自己的数据是不是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格式相关推荐
- 答题微信小程序实现(7):python3将题库处理成json格式的。
通常来说,我们写答题程序的时候,拿到手的题库不会是json格式的,而是word或txt.pdf就像考试卷子那样的. 这里写一下用python3将普通题库处理成json格式,选择python3的原因是, ...
- python爬取豆瓣书籍、电影等搜索结果,并解析html转成json格式
本文以豆瓣首页搜索图书.电影等结果页面为例,使用python的BeautifulSoup解析页面内标题.作者.出版社.评分.简介.缩略图等内容,并转成json格式进行存储. 声明:本文仅作学习pyth ...
- JAVA对象通过jackson转成json格式,属性名首字母变成小写的解决方法
2019独角兽企业重金招聘Python工程师标准>>> java代码对象如下: package com.evideostb.billsystem.module.model;impor ...
- Jquery 将后台返回的字符串转换成Json格式的数据
//code by:博客园-曹永思 第一步:将DataTable转换成 Json格式的数据 方法 一 View Code /// <summary>/// DataTable转成Json格 ...
- xml 文本转json java_java将XML文档转换成json格式数据
本篇文章主要介绍了java将XML文档转换成json格式数据的示例,希望能帮助到大家. 功能 将xml文档转换成json格式数据 说明 依赖包: 1. jdom-2.0.2.jar : xml解析工具 ...
- 将对象集合包装成JSON格式
import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.ArrayList; import ...
- vue-axios下载文件流blob,ie下载报传递给系统调用的数据区域太小.ie文件流下载报错;文件下载失败将blob的错误信息转换成json格式
本次下载是后台文件流传输,前端下载,前端将拿到的下载id和名称downloadName传递给下载方法:如果是多个下载,可以采用数组for循环 情景描述: 1.如果符合导出条件, 后端直接返回数据流,如 ...
- php批量解析json,封装php类批量解析css成json格式_html/css_WEB-ITnose
封装php类批量解析css成json格式 业务需求 我相信很多同学有过做一个自定义建站系统的想法,好比某空间的自定义拖拽组件,如果想要实现一个可视化建站系统,那CSS作为前端样式而言,是必须要存入到数 ...
- jsonArray:JavaBean,List,Map转成json格式(轉+整理)
JSON与JAVA数据的转换 JavaBean,List,Map转成json格式 JS解析json数据(如何将json字符串转化为数组) 需要四個包: commons-beanutils-1.8.3. ...
最新文章
- SpringBoot集成Mybatis动态多数据源后,MybatisPlus的IPage失效的问题解决方案
- 指定的参数错误。Vim.Host.DiskPartitionInfo.-spec VSPHERE.LOCAL\Administrator WIN-DOPGQVRRU2C
- python之pydev安装
- Delphi控件的“拿来主义”
- “System.OutOfMemoryException”类型的异常在 mscorlib.dll 中发生,但未在用户代码中进行处理
- MVC HtmlHelper listbox用法
- caffe android lib
- DesignSurface简介
- 华为NP课程笔记19-镜像技术
- 总结2019,立2020flag
- PC usb蓝牙发射器
- 商务英语:外企工作邮件常用100句
- UDT长度的含义是什么?
- [我一直想看到的文章 好好保存赏析]微软、英特尔和摩根的比较
- 2016-年蓝桥杯C-(A组)赛题-网友年龄
- Nginx——缓存配置
- 暑期強檔 飯店業者與樂團結盟系列優惠
- Matlab归一化实现
- BT源代码学习心得(四):种子文件的生成
- 信息社会的金融技术架构