I am working on Json Objects in java!. I have 2 json objects as follows:
{"a":{"num1":5},"b":{"num1":8}}
{"a":{"num2":7},"b":{"num2":9}}
I want to create a single json object as:
{"a":{"num1":5,"num2":7},"b":{"num1":8,"num2":9}}
How should i merge the 2 objects to achieve the above result?
The easy way is to create list and loop over two Objects:
public static void main(String[] args) {
String str1 = "{\"a\":{\"num1\":5},\"b\":{\"num1\":8}}";
String str2 = "{\"a\":{\"num2\":7},\"b\":{\"num2\":9}}";
try {
JSONObject str1Json = new JSONObject(str1);
JSONObject str2Json = new JSONObject(str2);
List<JSONObject> list = Arrays.asList(str1Json, str2Json);
JSONObject storage = new JSONObject();
JSONObject storageA = new JSONObject();
JSONObject storageB = new JSONObject();
JSONObject a;
JSONObject b;
JSONObject obj;
for(int i=1; i<= list.size(); i++){
obj = list.get(i-1);
a = obj.getJSONObject("a");
b = obj.getJSONObject("b");
storageA.put("num"+i, a.getInt("num"+i)); // we don't want build list
storageB.put("num"+i, b.getInt("num"+i));
}
storage.put("a", storageA);
storage.put("b", storageB);
System.out.println(storage.toString());
} catch (JSONException e1) {
}
}
Output:
{"b":{"num2":9,"num1":8},"a":{"num2":7,"num1":5}}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With