{
"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;