`
jiuyuehe
  • 浏览: 183946 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

ztree 的json 格式,用java 递归生产

阅读更多

ztree的json格式:(simpleData)

var zNodes =[
			{ id:1, pId:0, name:"父节点 1", open:true},
			{ id:11, pId:1, name:"叶子节点 1-1"},
			{ id:12, pId:1, name:"叶子节点 1-2"},
			{ id:13, pId:1, name:"叶子节点 1-3"},
			{ id:2, pId:0, name:"父节点 2", open:true},
			{ id:21, pId:2, name:"叶子节点 2-1"},
			{ id:22, pId:2, name:"叶子节点 2-2"},
			{ id:23, pId:2, name:"叶子节点 2-3"},
			{ id:3, pId:0, name:"父节点 3", open:true},
			{ id:31, pId:3, name:"叶子节点 3-1"},
			{ id:32, pId:3, name:"叶子节点 3-2"},
			{ id:33, pId:3, name:"叶子节点 3-3"}
		];



要生成这样的json 数据 不能被 id 于pId 之间的关系给迷糊了。
java文件递归:

    public int fullData(File root , List<SimpleData> breach, int pid, int id) {
		File[] fileList = root.listFiles();
		int len = fileList.length;
		int fatherpid = pid;
		int sonid = id;
		String path ="";
		for (int i = 0; i < len; i++) {
			if (fileList[i].isDirectory()) {
				//List<SimpleData>  breach = new ArrayList<SimpleData> ();
				SimpleData bsd = new SimpleData();
				bsd.setpId(fatherpid);
				bsd.setId(sonid);
				bsd.setName(fileList[i].getName());	
				 path = fileList[i].getAbsolutePath().substring(rootLen);
				String path1 =  path.replace("\\", "/");
				bsd.setPath(path1);
				breach.add(bsd);
				sonid = fullData(fileList[i], breach, sonid, sonid+1);
			} else {
				SimpleData leaf = new SimpleData();
				leaf.setpId(fatherpid);
				leaf.setId(sonid);
				leaf.setName(fileList[i].getName());
				path = fileList[i].getAbsolutePath().substring(rootLen);
				String path1 =  path.replace("\\", "/");
				leaf.setPath(path1);
				breach.add(leaf);
				sonid++;
			}
		}
		return sonid;
	}



这样 产生的数据 id是根据文件的个数来的

如果ztree 不是用了遍历文件夹,而是遍历大量数据的数据库话,那就不能用递归了,直接根据数据库的关系 遍历出来即可,只好是做异步加载

看个笑话

 

分享到:
评论

相关推荐

    zTree后台组装树结构java代码

    以上就是关于"zTree后台组装树结构java代码"的主题知识,包括了zTree的使用、Java与MySQL的交互、递归算法构建树、Spring JDBC等内容。理解并掌握这些知识点,能够帮助开发者高效地构建基于zTree的树形界面。

    java实现ztree异步加载

    ZTree通过Ajax请求向服务器获取数据,服务器端(这里为Java)处理请求并返回JSON格式的节点数据。ZTree接收到这些数据后动态构建或更新树形结构。这个过程涉及到的主要步骤包括: 1. **配置ZTree**:在前端HTML中,...

    java构造多级树结构,支持多根节点

    这里我们讨论如何在Java中实现一个支持多根节点的树结构,并使用ZTree(一种流行的JavaScript库)进行展示。首先,我们需要理解树的基本概念。 **树结构基础** 树是一种非线性数据结构,由节点和边组成。每个节点...

    json+java实现两棵书的移动

    在本场景中,我们关注的是“json+java实现两棵书的移动”这个话题,它涉及到使用Java编程语言和JSON(JavaScript Object Notation)格式来处理和操作无限层级的树结构。JSON因其轻量级、易于读写和解析的特点,在Web...

    jfinal ztree后台读取MySQL数据

    - **结果集转换**:将查询结果转换为 ZTree 需要的 JSON 格式,可能涉及递归处理,构建层级关系。 4. **项目文件分析** - **test_3.sql**:可能包含了创建数据库表结构和初始化数据的 SQL 脚本,用于演示项目的...

    JAVA 结合 dtree 数据库取值树状显示

    在实现过程中,前端可能会使用JSON格式来接收和解析Java后端发送的树形数据。JSON易于解析且跨平台,适合作为前后端数据交换的格式。前端dtree库通常会提供方法来动态加载和更新树节点,实现增删改查功能,以及节点...

    jQuery zTree插件快速实现目录树

    以Java为例,可以遍历查询结果列表,将每个对象转换为JSON格式,包含`id`、`pId`(对应`pid`)、`name`等属性,并可能包括自定义图标等信息。然后将这些JSON对象添加到一个JSON数组中,作为zTree的数据源。 4. **...

    无限级联树形目录

    zTree支持多种数据源,包括JSON、XML等,能轻松实现无限级联的树形结构,非常适合用于构建动态的树形目录。 3. **MySQL**:MySQL 是一种流行的开源关系型数据库管理系统,用于存储和管理树形目录的数据。在本案例中...

    jfinal_common_maven_jfinal_

    前端部分,可以使用 jQuery 的递归方法或者第三方库如 jQuery UI 的 Treeview 插件来渲染树形结构。例如,可以遍历 JSON 数据,利用 jQuery 的 append 方法动态创建 DOM 节点,形成层次感。如果你希望有更丰富的交互...

Global site tag (gtag.js) - Google Analytics