怎么将两个list集合按照条件合成一个list

{
    "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"的,找到后把他和在一起,
最终变成

方法如下

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;

猜你喜欢

转载自my.oschina.net/u/2299924/blog/820021