{ "list1": [ { "id": "238", "username": "鳳20", "peiouid": "255,258" } ], "list2": [ { "id": "255", "username": "wo1", "peiouid": null }, { "id": "258", "username": "1231132", "peiouid": "" } ] }
上面的兩個list集合,我想經過條件查找list2中的id 是在 "peiouid": "255,258"的,找到後把他和在一塊兒,
最終變成java
方法以下json
public class TestJson { public static void main(String[] args) { String s = "{" + "\"list1\": [" + "{" + "\"id\": \"238\"," + "\"username\": \"鳳20\"," + "\"peiouid\": \"255,258\"" + "}" + "]," + "\"list2\": [" + "{" + "\"id\": \"255\"," + "\"username\": \"wo1\"," + "\"peiouid\": null" + "}," + "{" + "\"id\": \"258\"," + "\"username\": \"1231132\"," + "\"peiouid\": \"\"" + "}" + "]" + "}"; JSONObject jo = JSON.parseObject(s); JSONArray joList1 = jo.getJSONArray("list1"); String peiouid = joList1.getJSONObject(0).getString("peiouid"); JSONArray jaList = new JSONArray(); JSONArray jaList2 = jo.getJSONArray("list2"); for(int i=0;i<jaList2.size();i++){ JSONObject ji = jaList2.getJSONObject(i); if(peiouid.contains(ji.getString("id"))){ jaList.add(ji); } } joList1.getJSONObject(0).put("list2", jaList); JSONObject jsonObject = new JSONObject(); jsonObject.put("list1", joList1); System.out.println(jsonObject); } }
String s1 = "{\"list1\":" + JSONValue.toJSONString(mr_AddressList9) + ",\"list2\":" + JSONValue.toJSONString(mr_AddressList10) +"}"; JSONObject jo1 = JSON.parseObject(s1); JSONArray joList11 = jo1.getJSONArray("list1"); for(int i=0;i<joList11.size();i++){ //針對行數據的時候 String peiouid1 = joList11.getJSONObject(i).getString("peiouid"); JSONArray jaList1 = new JSONArray(); JSONArray jaList21 = jo1.getJSONArray("list2"); for(int i1=0;i1<jaList21.size();i1++){ JSONObject ji = jaList21.getJSONObject(i1); System.out.println("第555555555代人的老婆id>>>>>>>>>>"+peiouid1+">>>>>>>>>>第5555555代人的母親的id>>>>>>>>>"+ji.getString("id")); if(peiouid1.contains(ji.getString("id"))){ jaList1.add(ji); } } joList11.getJSONObject(i).put("list10", jaList1); //put("list10"+i, jaList1) 這個變量 就名稱不同 } jsonObjec1.put("list10", joList11); System.out.println(jsonObjec1); jsonObjec88=jsonObjec1;