拼了个json,疯了!

来源:互联网 发布:python flag false 编辑:程序博客网 时间:2024/04/29 09:26

 /**
     * 获取‘数据管理’模块的菜单json值 hzl
     * @param path
     * @return
     */
    public String getJsonString(String path) {
        LinkedList<NamedNodeMap> folderList = new LinkedList();
        LinkedList<NamedNodeMap> fileList = new LinkedList();
        LinkedList<NamedNodeMap> fileList2 = new LinkedList();
        //文件夹
        folderList = getfolderlist(path);
        //将文件夹,存放到一个map里面foldermap
        Map<String, List<NamedNodeMap>> foldermap = new HashMap<String, List<NamedNodeMap>>();//存放二级目录
        for (NamedNodeMap namedNodeMap : folderList) {
            String folderName = namedNodeMap.getNamedItem("label").getNodeValue();
            fileList2 = getfolderlist(path + "//" + folderName);
            foldermap.put(folderName, fileList2);
        }
        //文件
        fileList = getfilelist(path);
        //文件夹+文件
        folderList.addAll(fileList);
        //是否存在 文件夹+文件
        int yn = folderList.size();
        StringBuffer sb = new StringBuffer();
        if (yn != 0) {
            sb.append("[\r\n");
            NamedNodeMap map;
            for (int i = 0; i <folderList.size(); i++) {
                map = folderList.get(i);
                sb.append("{\r\n");
                sb.append("\"id\":").append(i).append(",\r\n");
                if ("folder".equalsIgnoreCase(map.getNamedItem("type").getNodeValue())) {
                    //遍历文件夹,foldermap
                    Iterator iter = foldermap.entrySet().iterator();
                    while (iter.hasNext()) {
                        Map.Entry en = (Map.Entry) iter.next();
                        sb.append("\"text\":").append("\"").append(en.getKey().toString()).append("\"").append(",\r\n");
                        sb.append("\"children\":").append("[\r\n");
                        List<NamedNodeMap> value = (List) en.getValue();
                        if (value.size() != 0) {
                            for (int j = 0; j < value.size(); j++) {
                                sb.append("{\r\n");
                                map = value.get(j);
                                //System.out.println(map.getLength()+"===ok");
                                sb.append("\"id\":").append(j * 10+1).append(",\r\n");
                                sb.append("\"text\":").append("\"").append(map.getNamedItem("label").getNodeValue()).append("\"");
                                // sb.append("\"attributes\":").append(map.getNamedItem("label").getNodeValue()).append(",\r\n");
                                //判断是否是最后一个孩子
                                if (j < value.size()-1) {
                                    sb.append("},\r\n");
                                } else {
                                    sb.append("}\r\n");
                                }
                            }
                        }
                        sb.append("]\r\n");
                    }
                    //判断是否是最后一个父亲
                    if (i < folderList.size()-1) {
                        sb.append("},\r\n");
                    } else {
                        sb.append("}\r\n");
                    }
                } else {
                    sb.append("\"text\":").append("\"").append(map.getNamedItem("label").getNodeValue()).append("\"");
                    //判断是否是最后一个父亲
                    if (i < folderList.size()-1) {
                        sb.append("},\r\n");
                    } else {
                        sb.append("}\r\n");
                    }
                }
            }
            sb.append("]\r\n");
            System.out.println(sb.toString() + "========kkkkkkkkkkkkkkkkkkkkkkkoooooooooooooooooooooooo");
        }
        return sb.toString();
    }

 

 

 

 

输出结果

 

[
 {
  "id":0,
  "text":"Ibator",
  "children":[
    {
     "id":1,
     "text":"features"
    },
    {
     "id":11,
     "text":"plugins"
    }
   ]
 },
 {
  "id":1,
  "text":"20110714_010540.txt"
 },
 {
  "id":2,
  "text":"20110714_033306.txt"
 },
 {
  "id":3,
  "text":"20110714_033416.txt"
 },
 {
  "id":4,
  "text":"20110715_015339.txt"
 }
]
========kkkkkkkkkkkkkkkkkkkkkkkoooooooooooooooooooooooo

原创粉丝点击