日期:2014-05-19  浏览次数:20584 次

java 递归查询子节点
private String getChildJson(List<Caseinfo>list,String json)
{

for(int i=0;i<list.size();i++)
{
Caseinfo c = new Caseinfo();
c=list.get(i);
if(c.getIscase()==0)
{
json+="{\"id\":\""+c.getId()+"\",\"text\":\""+c.getCaseName()+"\",\"pid\":\""+c.getParentId()+"\",\"num\":\""+c.getNum()+"\",\"iscase\":\""+c.getIscase()+"\",leaf:"+"true"+",checked:"+"true"+"},";
}
else
{
json+="{\"id\":\""+c.getId()+"\",\"text\":\""+c.getCaseName()+"\",\"pid\":\""+c.getParentId()+"\",\"num\":\""+c.getNum()+"\",\"iscase\":\""+c.getIscase()+"\",checked:"+"true"+",children:[";
List count = caseinfoService.getCasebyId(c.getId());//得到子节点
String Cjson = this.getChildJson(count,json); //递归调用
System.out.println(Cjson);
json+=Cjson;
json+="]";

}
}
json1 = json.substring(0, json1.length()-1);
//json+="}";
//System.out.println("ChildJson="+json);
System.out.println(json);
return json;
}
这样写貌似不行 请高手帮忙搞下谢谢

------解决方案--------------------
dsa