sponsored links

把普通的字符串转换为combotree所需要的json串

把普通的字符串转换成easyUI的comboxtree所要求的格式

方法/步骤

  1. 第一步:创建一个TreeData类

    package haoyi.com.model;

    public class TreeData {

    private int id;

    private String text;

    private int pid;

    public int getId() {

    return id;

    }

    public void setId(int id) {

    this.id = id;

    }

    public String getText() {

    return text;

    }

    public void setText(String text) {

    this.text = text;

    }

    public int getPid() {

    return pid;

    }

    public void setPid(int pid) {

    this.pid = pid;

    }

    }

    第二步:写一个小方法把List里的对象转化成combotree

    所需要的格式。

    public String testJson(List trees){

    //List deleTrees=new ArrayList();

    List saveNext=new ArrayList();

    StringBuilder json=new StringBuilder();

    json.append("[");

    for(TreeData treeData:trees){

    if(treeData.getPid()==0){

    TreeData td=treeData;

    json.append("{");

    json.append("\"id\":\""+td.getId()+"\",\"text\":\""+td.getText()+"\"},");

    System.out.println(treeData.getText()+"是头元素");

    saveNext.add(td);

    }

    }

    findNext(trees,saveNext,json);

    json.deleteCharAt(json.lastIndexOf(","));

    json.append("]");

    System.out.println(json);

    return json.toString();

    }

    下面这个方法是上面的引用

    public void findNext(List trees,List nextTree,StringBuilder json){

    //找到父元素下面的子元素

    boolean hasNext=false;

    List treenew=new ArrayList();

    for(TreeData tree:trees){

    for(TreeData data:nextTree){

    int i=0;

    if(tree.getPid()==data.getId()){

    i++;

    System.out.print(tree.getText()+"是子元素,属于"+data.getText()+"**");

    TreeData nowtree=tree;

    if(i==1){

    int mb=json.indexOf(data.getId()+"");

    mb=json.indexOf("}", mb);

    json.insert(mb, ",\"children\":[{\"id\":\""+nowtree.getId()+"\",\"text\":\""+nowtree.getText()+"\"}]");

    }else{

    int mb=json.lastIndexOf(tree.getId()+"");

    mb=json.indexOf("}", mb)+1;

    json.insert(mb, ",{\"id\":\""+tree.getId()+"\",\"text\":\""+tree.getText()+"\"}");

    }

    treenew.add(tree);

    hasNext=true;

    }

    }

    }

    if(hasNext){

    System.out.println();

    findNext(trees,treenew,json);

    }else{

    }

    }

    第三部测试一下:

    public static void main(String[] args){

    RecursiveAlgorithm ra=new RecursiveAlgorithm();

    //ra.getNumSum();

    List list=new ArrayList();

    //根目录

    TreeData t1=new TreeData();

    t1.setId(1);

    t1.setPid(0);

    t1.setText("1");

    list.add(t1);

    TreeData t2=new TreeData();

    t2.setId(2);

    t2.setPid(1);

    t2.setText("2");

    list.add(t2);

    TreeData t3=new TreeData();

    t3.setId(11);

    t3.setPid(2);

    t3.setText("11");

    list.add(t3);

    TreeData t4=new TreeData();

    t4.setId(22);

    t4.setPid(11);

    t4.setText("22");

    list.add(t4);

    TreeData t5=new TreeData();

    t5.setId(55);

    t5.setPid(22);

    t5.setText("55");

    list.add(t5);

    TreeData t6=new TreeData();

    t6.setId(66);

    t6.setPid(55);

    t6.setText("66");

    list.add(t6);

    TreeData t7=new TreeData();

    t7.setId(77);

    t7.setPid(66);

    t7.setText("77");

    list.add(t7);

    TreeData t8=new TreeData();

    t8.setId(77);

    t8.setPid(66);

    t8.setText("88");

    list.add(t8);/**/

    ra.testJson(list);

    }

    第四部结果如下:

    [{"id":"1","text":"1","children":[{"id":"11","text":"11","children":[{"id":"55","text":"55","children":[{"id":"66","text":"66"}]}]}]},{"id":"2","text":"2","children":[{"id":"22","text":"22","children":[{"id":"77","text":"77"}]}]}]

注意事项

  • 我再别人的基础上,修改一下,在网上的例子太少了。
  • 别害怕,多想想,可以的。
精选 好文 推荐
  • QQ空间怎么设置你的权限
    QQ空间怎么设置你的权限
  • 西点;厚底山楂片苹果披萨
    西点;厚底山楂片苹果披萨
  • Snipaste 如何设置个性化界面
    Snipaste 如何设置个性化界面
  • 装修卫生间需要注意哪些细节
    装修卫生间需要注意哪些细节
  • ps3生化危机6修改
    ps3生化危机6修改
  • 英雄联盟之如何玩好ADC
    英雄联盟之如何玩好ADC
  • 如何参加中国互联网安全峰会?
    如何参加中国互联网安全峰会?
  • 野菜蛋花汤——春天气息的美味汤
    野菜蛋花汤——春天气息的美味汤
  • 上身骨感下身丰满的姑娘怎么穿
    上身骨感下身丰满的姑娘怎么穿
  • 笔记本电脑上不了网怎么办
    笔记本电脑上不了网怎么办
  • 拆迁户应该知道的一些事
    拆迁户应该知道的一些事
  • 怎么自己做麻婆豆腐。
    怎么自己做麻婆豆腐。
  • 动词的时态概述
    动词的时态概述
  • 海参有哪些作用及如何挑选
    海参有哪些作用及如何挑选
  • qq鼠标键盘无动作切换忙碌
    qq鼠标键盘无动作切换忙碌
  • 如何将图片修改教程
    如何将图片修改教程
  • 让墙纸墙布延长使用期的保养攻略
    让墙纸墙布延长使用期的保养攻略
  • 三界奇缘东海飓风任务怎样完成?
    三界奇缘东海飓风任务怎样完成?
  • 线性代数:化二次型为标准型?
    线性代数:化二次型为标准型?
  • 如何做一个懂女人的男人
    如何做一个懂女人的男人
  • 郑州土家馋嘴饼
    郑州土家馋嘴饼
  • 网易云音乐APP怎么开启边听边存开关
    网易云音乐APP怎么开启边听边存开关
  • 朋友结婚送上什么样的礼物好呢?
    朋友结婚送上什么样的礼物好呢?
  • 如何修复Win10上的系统还原错误0x80070005?
    如何修复Win10上的系统还原错误0x80070005?
  • 华为手机管家 如何强行停止
    华为手机管家 如何强行停止
  • 淘宝装修里面怎样使用代码
    淘宝装修里面怎样使用代码
  • 牧场建造 管理全攻略
    牧场建造 管理全攻略
秋冬季节几种降火的食物