拼了个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
- 拼了个json,疯了!
- 拼了!
- 看来需要拼了
- 考试我拼了!
- json 多了个pre
- 看来得拼一把了
- 好久没写代码了能给我个asp获取汉字全拼的代码
- 就这样吧,只有拼了
- 为了能进黑马拼了...
- 我要和他拼了!
- “本将军和你拼了!”公
- 拼了整整一天,把这个问题给搞明白了
- 做了个简单的struts2+jquery+json的ajax
- SEO不再是拼技术而是来到拼运营的年代了
- 谁再说日本人-是-猪我和他拼了!!
- 2006-09-23 大哥,咱跟他们拼了吧!
- 脑力时代了我们拼的是体力!
- 我表示 为了电路分析我拼了
- JNI 测试程序
- Collecting Performance Statistics
- android学习笔记之LiveFolders
- ASP.net 下载文件类
- 字符串长度与宏的两个题目。
- 拼了个json,疯了!
- Native SQL查询 (使用SQLQuery) (转http://hi.baidu.com/ufeiying/blog/item/420367237fc9dd5a9822ed8a.html)
- 在Fedora 13 上搭建Eucalyptus ( 你自己的云平台)
- strlen与sizeof
- ASP.net 上传文件类
- c#文件操作
- 从外部的js文件中使用<%=%>获取ASPX页面的ClientID获取后台代码
- Eucalyptus failed to connect to the hypervisor问题解决方法
- ADS 1.2安装序列号