java json 修改字段_java-如何对json树进行子级字段修改

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);

c66d04132e29c7d6cc057a2d1f93c407.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值