合并两个嵌套的org.json.JSONObject

时间:2017-07-04 00:17:09

标签: java json

我有org.json的两个JSON对象:第一个是

json1 = {a: {b : {c: val1} } }

,第二个是

json2= {a {b: {c2: val2 } } }

有没有办法将这两个对象合并为一个这样的对象:

result = {a: { b: {c: val1, c2: val2 } } }

我对这两个对象的键没有任何想法,所以我需要在这些对象上动态循环并进行合并。有没有内置的方法来做这个技巧。感谢。

1 个答案:

答案 0 :(得分:0)

static JSONObject merge(JSONObject obj1, JSONObject obj2) {
    obj2.forEach((k2, v2) -> obj1.merge(k2, v2, (v1, _v2) ->
            v1 instanceof JSONObject && _v2 instanceof JSONObject
                    ? merge((JSONObject)v1, (JSONObject)_v2) : "conflict!!"));
    return obj1;
}