user2261222
user2261222

Reputation: 1

Merging of two JsonObject having same key and different value

I have two JsonObject having same key but different value. I want to merge both JsonObject with same key in another 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}]}");

The result should be like this.

{\"data\": [ {\"empId\": 1,\"deptId\": 2},{\"empId\": 3,\"deptId\": 4},{\"empId\": 7,\"deptId\": 8},{\"empId\": 9,\"deptId\": 10}]}

Please Let me know how to do this.

Upvotes: 0

Views: 2874

Answers (1)

Pratik
Pratik

Reputation: 30855

Use JSONArray for store multiple JSONObject. Using this no need to worry to assign key for this JSONObject e.g.

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}]}");

Edit

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

Now for another object

jArr_A= b.getJSONArray("data");

for(int i=0;i<jArr_A.length();i++){
     jArr.put(jArr_A.getJSONObject(i));
}

now check the length of your jArr object has it double.

JSONObject mainJson = new JSONObject();
mainJson.put("data", jArr);

Upvotes: 3

Related Questions