/**
* 获取‘数据管理’模块的菜单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