JSON的N叉树数据结构如下:

{"code": 0,"data": [{"name": "xxx","uuid": "1xxx","subscribe": false,"children": [{"name": "xxx","uuid": "2xxx","subscribe": false,"parentId": "1xxx","children": [{"name": "xxx","uuid": "3xxx","subscribe": false,"parentId": "2xxx","children": []},{"name": "xxx","uuid": "3xxx","subscribe": false,"parentId": "2xxx","children": []}......],"message": "success"
}

可以看到data下面数组数据有很多的相同数据:

{"name": "xxx","uuid": "xxx","subscribe": false,"parentId": "xxx","children": []
}

因此可以新建一个实体类来封装这些json数据:

@Data
@AllArgsConstructor
@NoArgsConstructor
public class xxx {private String name;private String uuid;private String subscribe;private List<SZPlusColumn> children;private String parentId;}

接下来把json对象转换成JSONObject类型:

// 请求地址
String pullColumnUrl = "xxx";
// token 直接赋值为 null
String token = null;
// 发起 get 请求同时转换为 JSONObject 类型
JSONObject result = JSONObject.parseObject(HttpUtils.sendGet(pullColumnUrl, token));

获取result里面的data信息:

// 获取 result 里面的 data json 数组
JSONArray jsonArray = result.getJSONArray("data");

将data数组转换为JSONString

// 将 data 数组转换为 JSONString
String data = JSON.toJSONString(jsonArray);

最后再把其转换为 xxx 的 List 集合

// 保存为 xxx 实体类的 List 集合
List<xxx> xxxs = JSON.parseArray(data, xxx.class);

这样就可以得到JSON的N叉树数据结构转换成Java的List数据结构了。

接下来是递归遍历整个List数据结构代码:

public List<xxx> DFSxxx(List<SZPlusColumn> 1xxx, List<xxx> 2xxx) {int 1xxxLen = 1xxx.size();for(int i = 0; i < 1xxxLen; i++) {2xxx.add(new xxx(1xxx.get(i).getUuid(), 1xxx.get(i).getName()));if(!1xxx.get(i).getChildren().isEmpty()) {DFSxxx(1xxx.get(i).getChildren(), 2xxx);}}return 2xxx;
}

这样就可以遍历List整个N叉树里面的数据了。

Java递归遍历JSON的N叉树数据结构相关推荐

  1. Java 递归遍历文件

    Java 递归遍历文件 /*** 递归遍历文件* @param file*/private static void traverse(File file) {String[] filePaths = ...

  2. Java递归遍历文件夹

    好像没有什么可以描述的: 具体在代码中有注释 代码需要 自己优化,wo想象力有限┭┮﹏┭┮ Java递归遍历文件夹: 简单过程: 输入路径 判断是否可以递归(文件夹加入递归) 否则判断后缀 打印. 看 ...

  3. java 递归遍历对象所有属性_Java学习之Xml系列二:xml按条件查询、xml递归遍历所有元素和属性...

    xml中加入了几条,为了方便查询时作为示例. 话不多说见代码注释: DTD文件:SwordTypeDefinition.dtd XML文件:SwordLib.xml SwordLibrary SYST ...

  4. java 递归 遍历目录下的所有文件

    public class Demo{static int level;public static void main(String[] args) throws IOException {//利用递归 ...

  5. Java——递归遍历目录【获取指定目录下的文件名称】

    package com.itheima_02;import java.io.File;public class DiGuiDemo02 {public static void main(String[ ...

  6. java递归遍历删除文件

    import java.io.File;/* 遍历递归删除文件夹类的所有文件*/ public class demo {public static void main(String[] args) { ...

  7. java递归遍历目录文件

    为什么80%的码农都做不了架构师?>>>    <!-- lang: java --> import java.io.File ; import java.io.IOEx ...

  8. java迭代器遍历json,批量替换内容

    需求:针对复杂JSON数据的,多个特定节点的特定值进行批量加值,其他节点的不能动. 1. 使用fastjson的JsonObject,修改HashMap为LinkedHashMap使用链表,保证顺序一 ...

  9. java递归遍历xml所有元素_Java学习之Xml系列二:xml按条件查询、xml递归遍历所有元素和属性...

    2019独角兽企业重金招聘Python工程师标准>>> xml中加入了几条,为了方便查询时作为示例. 话不多说见代码注释: DTD文件:SwordTypeDefinition.dtd ...

最新文章

  1. sql server 批量删除临时表
  2. long 雪花算法_雪花算法
  3. 【代码审计】使用SonarQube进行代码质量分析管理
  4. new 开始转向PHP
  5. 额,看房没戴头盔,损失二十万 。。。
  6. jwt-cli:一个用于解码JSON Web令牌(JWT令牌)的Shell库
  7. java输出日志_java代码中如何正确使用loggger日志输出
  8. 牛客16464 神奇的幻方
  9. 查询中接受的主体参数_Apollo入门引导(三):编写查询解析器
  10. CECC2018赛季收官站我国×××手夺得年度总冠军
  11. jquery+ajax验证不通过也提交表单问题处理
  12. 大厨揭示Google成功秘诀:免费啤酒和寿司
  13. FutureTask源码分析
  14. nginx 认证访问web
  15. Opencv LBP特征
  16. 华为模拟器eNSP将防火墙配置成三层核心交换机
  17. 计算机组成原理- 旋转跳跃的指令实现
  18. UEditor自定义表情包
  19. uniapp的分享到朋友圈和朋友(APP)
  20. C++ map通过key获取value

热门文章

  1. 平安京因服务器升级维护,【平安京维护解读】3月15日更新速递
  2. 使用SOAP网关实现OpenMeetings 与其它系统的整合
  3. mathematics画图取点
  4. 计算细菌菌落繁殖时间
  5. 【视频】面试一年大厂经验Java程序员,回答不是很满意与18KOffer失之交臂 生活日常
  6. 计算机如何删除已连接的打印机驱动程序,打印机驱动程序不见了,如何自行删除...
  7. Hibernate查询以及优化策略
  8. 一个月通过大学英语四级考试
  9. Stratis和VDO高级存储
  10. uniapp项目怎么连接手机真机调试