1、先获取json树,强制类型转换成list类型;
2、从省级list取市级,并强制类型转换成list类型;
3、从市级list取县级,并强制类型转换成list类型,根据gxqy的id找到对应记录,最终修改checked,为true 默认选中;
4、将修改好的县级list强制类型转换成json,并保存至市级list中;
5、将市级list强制类型转换成json,并保存至省级list中;
6、将省级list强制类型转换成json,至此结束。
json 省级树 gxqy 县级id代码 checked true为选中,false为不选 //代码中具体强转方法需在网上参考其他方法,不宜通用。本文章只是简单梳理过程
eclipse控制台展示json树内容:(例)
[{"id":"14","text":"山西省","children":[{"id":"1401","text":"太原市","children":[{"id":"140105","text":"小店区","leaf":true,"checked":false},{"id":"140106","text":"迎泽区","leaf":true,"checked":false},{"id":"140107","text":"杏花岭区","leaf":true,"checked":false}
String gxqy
String[] split = gxqy.split(",");
List list = (List) JsonUtil.getObjectFromJsonString(json);
List list2 = (List) JsonUtil.getObjectFromJsonString(list.get(0).get("children").toString());
//循环市级取字符串
for (int i = 0, size = list2.size(); i < size; i++) {
List list3 = (List) JsonUtil.getObjectFromJsonString(list2.get(i).get("children").toString());
//循环县级取字符串
for(int s = 0 ; s < list3.size() ; s++){
//循环gxqy内容,循环取数
for(int l = 0 ; l < split.length ; l ++){
if(list3.get(s).get("id").equals(split[l])){
list.get(0).put("checked", true);
list2.get(i).put("checked", true);
list3.get(s).put("checked", true);
}
}
json3 = JsonUtil.getJson(list3);
}
list2.get(i).put("children",json3);
}
String json2 = JsonUtil.getJson(list2);
list.get(0).put("children",json2);
String jsonn = JsonUtil.getJson(list);