Java获取树型结构数据:
@RequestMapping("getClassifyJsonTree")
public @ResponseBody String getClassifyJsonTree(String id) {Map<String, Object> m = new HashMap<String, Object>();
m.put("Data", subClassifyTree(id));
String str = JSON.toJSONString(m);
str = str.replace("Data", "Child");
return str;
}
/***
* 获取分类树节点信息 迭代实现
* @return
*/
private List<Map<String, Object>> subClassifyTree(String parentId) {
List<ReportClassify> classifyList;
if (parentId != null && StringUtils.isNotBlank(parentId)) {
classifyList = service.getDirectReportClassifyById(parentId);
} else {
classifyList = service.getTopReportClassify();
}
List<Map<String, Object>> classify = new ArrayList<Map<String, Object>>();
for (ReportClassify rc : classifyList) {
List<Map<String, Object>> subClassify = null;
if (service.getDirectReportClassifyCount(rc.getId()) > 0) {
subClassify = subClassifyTree(rc.getId());
}
Map<String, Object> m = new HashMap<String, Object>();
m.put("Id", rc.getId());
m.put("Name", rc.getName());
m.put("Selected", false);
m.put("Child", subClassify);
classify.add(m);
}
return classify;
}