首页 > 编程语言 >JAVA8自带TreeUtils

JAVA8自带TreeUtils

时间:2022-12-16 12:12:12浏览次数:53  
标签:ch name inputStreamReader TreeUtils id parentId 自带 data JAVA8

 

 

 

 tree.json

{
  "code": 200,
  "msg": "操作成功",
  "data": [
    {
      "id": "310000",
      "name": "电子商务",
      "parentId": "000000"
    },
    {
      "id": "310100",
      "name": "大宗商品",
      "parentId": "310000"
    },
    {
      "id": "310101",
      "name": "大宗商品综合",
      "parentId": "310100"
    },
    {
      "id": "310102",
      "name": "钢铁类电商",
      "parentId": "310100"
    }
  ]
}
@GetMapping("testTreeUtils")
    public List<TreeNode<String>> testTreeUtils() throws Exception {
        ClassPathResource classPathResource = new ClassPathResource("data/tree.json");
        InputStream fileInputStream =classPathResource.getInputStream();
        InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, StandardCharsets.UTF_8);
        StringBuilder sb = new StringBuilder();
        int ch = 0;
        while((ch = inputStreamReader.read())!=-1){
            sb.append((char)ch);
        }
        inputStreamReader.close();
        String treeStr = sb.toString();
        JSONObject jsonObject = JSONObject.parseObject(treeStr);
        JSONArray data = jsonObject.getJSONArray("data");
        List<Category> categories = JSONArray.parseArray(data.toJSONString(), Category.class);
        List<TreeNode<String>> node = TreeUtils.createNode(categories, "000000");
        return node;

    }

运行结果:

 

标签:ch,name,inputStreamReader,TreeUtils,id,parentId,自带,data,JAVA8
From: https://www.cnblogs.com/charkey/p/16986999.html

相关文章

  • Java8之list.stream的常见使用
    本文转自 https://blog.csdn.net/jhgnqq/article/details/123679622感谢楼主分享importorg.junit.Before;importorg.junit.Test;importjava.util.Arrays;import......
  • 记录一下:Java8和Java11对sun.misc.BASE64Encoder的替换
    JDK8之后的版本中针对sun.misc.BASE64Encoder使用方法进行了修改升级,JDK8中:BASE64Decoderdecoder=newBASE64Decoder();byte[]bytes=decoder.decodeBuffer(str)......
  • Oracle12C查询自建用户(非系统自带)
    selectusernamefromdba_userswhereINHERITED='NO'; SELECTusername,account_statusfromdba_userswhereaccount_status='OPEN'andusernamenotlike'%SYS......
  • Java8:Lambdas(一) 学习lambda表达式
    了解Java8中的lambda表达式对开发人员来说没有什么比自己选择的语言或平台发布新版本更令人激动了。Java开发者也不例外。实际上,我们更期待新版本的发布,有一部分原因是因......
  • Java8:Lambdas(二)学习怎样去使用lambda表达式
    JavaSE8的发布很快就到了。伴随着它来的不仅仅是新的语言lambda表达式(同样被称为闭包或匿名方法)——伴随着一些语言特性支持——更重要的是API和library的增强将会使传统......
  • Java8新特性
    一、Java8新特性1.Lambda表达式Lambda是匿名函数,使用它可以写出简洁,灵活的代码。  a.表达式无参数,无返回值,只有一个Lambda体Runnable r1=()->log.info......
  • Mac 下删除自带的 ABC输入法
    关闭SIP(SystemIntegrityProtection系统完整性保护)#重启时按下command+R进入恢复模式#上方系统工具进入终端运行csrutildisable下载安装PlisteditPr......
  • Centos7 卸载自带的OpenJDK
    一、查询系统是否已经安装jdkrpm-qa|grepjava二、卸载已安装的jdkrpm-e--nodepsjava-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64rpm-e--nodepsjava-1.8.0-open......
  • 笔记本自带键盘锁定
    锁定与解锁均需要重启才生效win键->搜索cmd,打开复制锁定scconfigi8042prtstart=disabled解锁scconfigi8042prtstart=demand粘贴->回车重启即可生效......
  • Java8实战之时间日期操作
    Java8实战之时间日期操作前言前面我们已经基本学习完Java8中应用场景比较广泛的新功能或者说新特性,在本小节中,我们再来学习多一个新特性,时间日期操作。时间日期操作在Java8......