具有相同键和不同值的两个JsonObject的合并
我有两个具有相同键但不同值的JsonObject。 我想合并两个JsonObject与另一个JsonObject中的同一个键。具有相同键和不同值的两个JsonObject的合并
JSONObject a = new JSONObject("{\"data\": [ {\"empId\": 1,\"deptId\": 2},{\"empId\": 3,\"deptId\": 4}]}");
JSONObject b = new JSONObject("{\"data\": [ {\"empId\": 7,\"deptId\": 8},{\"empId\": 9,\"deptId\": 10}]}");
结果应该是这样的。
{\"data\": [ {\"empId\": 1,\"deptId\": 2},{\"empId\": 3,\"deptId\": 4},{\"empId\": 7,\"deptId\": 8},{\"empId\": 9,\"deptId\": 10}]}
请让我知道如何做到这一点。
使用JSONArray
存储多个JSONObject
。使用这个不需要担心为这个JSONObject
例如
JSONObject a = new JSONObject("{\"data\": [ {\"empId\": 1,\"deptId\": 2},{\"empId\": 3,\"deptId\": 4}]}");
JSONObject b = new JSONObject("{\"data\": [ {\"empId\": 7,\"deptId\": 8},{\"empId\": 9,\"deptId\": 10}]}");
编辑
JSONArray jArr_A= a.getJSONArray("data");
JSONArray jArr= new JSONArray();
for(int i=0;i<jArr_A.length();i++){
jArr.put(jArr_A.getJSONObject(i));
}
现在另一个对象
jArr_A= b.getJSONArray("data");
for(int i=0;i<jArr_A.length();i++){
jArr.put(jArr_A.getJSONObject(i));
}
现在检查jArr对象的长度有它的两倍。
JSONObject mainJson = new JSONObject();
mainJson.put("data", jArr);
请编辑一些我无法获取代码格式工具 – Pratik 2013-04-24 09:44:50
感谢您的回复,但我从两个不同的地方获得JsonObjects具有相同的键,但值是不同的对象列表。所以我想要在新的JsonObject中合并具有相同给定键的对象列表。 – user2261222 2013-04-24 10:00:47
嗨请检查更新的答案 – Pratik 2013-04-24 10:34:09
你想要结果是什么? – 2013-04-24 09:37:24
目前还不清楚你想要什么结果。请提供对象'c',这是'a'和'b'合并的结果。 – pfyod 2013-04-24 09:38:30
我编辑了这个问题,添加了结果JsonObject应该如何。感谢您的回复。 – user2261222 2013-04-24 09:54:03