`
天涯海角tour
  • 浏览: 174003 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

树形结构的json数据源,

阅读更多


package test;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import com.baihe.entity.Node;

public class bd {

List nodeList =new ArrayList();  
bd(){//构造方法里初始化模拟List  
        Node node1 = new Node("01","0");    
        Node node2 = new Node("0102","01");    
        Node node3 = new Node("0103","01");    
        Node node4 = new Node("010201","0102");    
        Node node5 = new Node("010202","0102");    
      
        nodeList.add(node1);    
        nodeList.add(node2);    
        nodeList.add(node3);    
        nodeList.add(node4);    
        //nodeList.add(node5);    
       
    }  
    StringBuffer returnStr=new StringBuffer();    
    public void recursionFn(List list , Node node){    
        if(hasChild(list,node)){    
            returnStr.append("{id:");  
            returnStr.append(node.getId());  
            returnStr.append(",parentId:");  
            returnStr.append(node.getParentId());  
            returnStr.append(",children:[");    
            List childList = getChildList(list,node);    
            Iterator it = childList.iterator();    
            while(it.hasNext()){    
                Node n = (Node)it.next();    
                recursionFn(list,n);    
            }    
            returnStr.append("]},");    
        }else{    
            returnStr.append("{id:");  
            returnStr.append(node.getId());  
            returnStr.append(",parentId:");  
            returnStr.append(node.getParentId());  
            returnStr.append(",leaf:true},");    
        }    
            
    }    
    public boolean hasChild(List list, Node node){  //判断是否有子节点  
        return getChildList(list,node).size()>0?true:false;  
    }  
    public List getChildList(List list , Node node){  //得到子节点列表  
        List li = new ArrayList();    
        Iterator it = list.iterator();    
        while(it.hasNext()){    
            Node n = (Node)it.next();    
            if(n.getParentId().endsWith(node.getId())){    
                li.add(n);    
            }    
        }    
        return li;    
    }  
    public String modifyStr(String returnStr){//修饰一下才能满足Extjs的Json格式  
        return ("["+returnStr+"]").replaceAll(",]", "]");  
          
    }  
    public static void main(String[] args) {    
    bd r = new bd();    
        r.recursionFn(r.nodeList, new Node("01","0"));    
        System.out.println(r.modifyStr(r.returnStr.toString()));    
    }    
}
分享到:
评论

相关推荐

    多叉树结合JavaScript树形控件实现无限级树形结构(一种构建多级有序树形结构JSON(或XML)数据源的方法)

    1. 构建 JSON 数据源:树形控件需要将数据库中的层次数据转换成 JSON 格式的字符串,以便在客户端动态生成树形结构。 2. Ext JS 框架:这是一种富客户端开发框架,其 TreePanel 组件常用于实现树形视图,支持 ...

    把扁平化的数据转换成树形结构的JSON

    在IT行业中,数据的组织和...总之,将扁平化的数据转换成树形结构是JavaScript开发中的常见任务,尤其在处理JSON数据时。通过理解数据结构和递归算法,我们可以有效地完成这个转换,从而更好地管理和操作层次化数据。

    多叉树结合JavaScript树形控件实现无限级树形菜单(一种构建多级有序树形结构JSON(或XML)数据源的方法).pdf

    总之,通过合理的设计和算法,可以将数据库中的无限级层次数据转换为适配JavaScript树形控件的JSON数据源,实现无限级树形菜单的展示。这种方法不仅适用于Ext JS,也可以应用于其他支持JSON数据的JS树形控件。解决这...

    JS+css+Json的树形结构

    在描述中提到的树形结构,JSON数据就是数据源,它的键值对关系对应着树的节点和子节点。 CSS(Cascading Style Sheets)则是用于描述HTML或XML(包括SVG、MathML等各种XML方言)文档样式的样式表语言。在树形结构的...

    基于jsTree的无限级树JSON数据的转换

    最后,前端JavaScript代码会通过Ajax请求从服务器获取到这个转换后的JSON数据,然后使用jsTree的API将其渲染成可视化的树形结构: ```javascript $("#mytree").jstree({ data: { type: "json", url: "${ctx}/...

    生成JSON树型表结构

    EXT框架,作为一个强大的前端组件库,提供了丰富的UI控件,其中包括树形组件(EXT树),它能够根据JSON数据生成交互式的树状结构。 EXT树是EXT JS库中的一个组件,用于展示层级关系的数据,比如目录结构、组织架构...

    Jquery ComboTree树的绑定-数据源JSON格式-操作

    **jQuery ComboTree 树结构绑定与JSON数据源详解** 在Web开发中,为了提供用户友好的界面和交互体验,我们经常需要使用各种UI组件。jQuery ComboTree是一款流行的jQuery插件,它结合了下拉列表和树形视图的优点,...

    使用jsTree实现js树形结构

    **jsTree:构建前端树形结构的利器** jsTree 是一个强大的 JavaScript 库,专用于在 Web 页面上创建交互式的树形结构。它基于纯 JavaScript 编写,无需依赖其他库,因此对于初学者和有经验的开发者来说,都是一个...

    ajax树形结构

    在Ajax树形结构中,Servlet可能扮演着处理数据请求和返回JSON或XML格式数据的角色。当用户点击树形结构的某个节点时,Servlet会接收并处理这个请求,然后返回该节点的子节点信息。 **三、AJAX** AJAX允许在不刷新...

    树形结构xtree有添加和修改的功能。

    这个“xtree”项目显然是一个具有添加和修改功能的树形结构实现,可能是为了在网页上展示和操作层次化的数据。 首先,我们来了解一下树形结构的基础知识。树形结构是由节点(或称为元素)和边(或连接线)组成的...

    多叉树结合JavaScript树形控件实现无限级树形菜单(一种构建多级有序树形结构JSON(或XML)数据源的方法).docx

    .

    ajax获取嵌套JSON,树形控件显示

    为了运行这个示例,你需要将`url`设置为你自己的JSON数据源,或者使用压缩包中的本地JSON数据文件进行测试。 总的来说,这个示例展示了如何结合Ajax、jQuery和ZTree插件,从服务器获取嵌套的JSON数据,并将其转化为...

    iOS下实现的树形列表结构

    在提供的`TestTreeWebService`文件中,可能包含了服务器接口或者示例数据,用于获取树形结构的JSON数据。你可以使用`NSURLSession`或`Alamofire`等网络库来请求数据,然后解析成`TreeItem`对象,填充到模型中。 ...

    ExtJs树形结构 ext的简单应用

    在ExtJs中,树形结构(Tree)是一种数据展示方式,常用于呈现层次化的数据,比如文件系统、组织架构等。本文将深入探讨如何在ExtJs中应用树形结构,并通过实例演示其基本用法。 1. **树形结构的基本概念** 树形...

    BootstrapTreeView树形结构

    4. 数据绑定:可以方便地与后端数据源(如 JSON、AJAX)进行绑定,动态加载或更新树形结构。 5. 多级节点:支持无限级别的子节点,构建复杂的层级结构。 6. 事件处理:提供了丰富的事件接口,如节点点击、展开、折叠...

    jquery 树形结构

    本文将深入探讨“jQuery树形结构”,这是一个利用jQuery实现的用于展示层次化数据的用户界面元素。 首先,jQuery树形结构通常通过第三方插件实现,例如Dynatree。 Dynatree是一款功能强大的jQuery插件,它提供了...

    jQuery高性能带复选框的树形结构插件

    4. **数据源**: 插件可以接受JSON格式的数据源,每个节点包含ID、文本、是否选中、子节点数组等信息,方便从服务器获取数据后构建树形结构。 ### 使用方法 1. **引入依赖**: 首先需要引入jQuery库,然后引入`...

    js树形结构dtree,很好用,有实例

    在JavaScript编程中,树形结构是一种非常常见的数据结构,它以层次化的方式组织数据,类似于自然界中的树。这种数据结构由节点(或称为元素)组成,每个节点都可以有零个或多个子节点,且有一个或者没有父节点。在...

    js+css网站通用的树形结构

    在压缩包文件"**d300**"中,可能包含了实现这一通用树形结构的源代码,包括JavaScript文件(可能包含自定义的树形组件实现)和CSS文件(用于定制样式)。具体代码实现细节需查看文件内容以获取更多信息。 总的来说...

    easyui或extjs构建动态树形结构

    ExtJS 的树形结构更加灵活,支持多种数据源,包括 JSON、XML 以及远程数据。`TreePanel` 提供了丰富的配置项和事件处理,可以实现复杂的交互行为。动态加载节点通常通过 `store` 的 `load` 方法或者配置 `proxy` 来...

Global site tag (gtag.js) - Google Analytics