【问题标题】:merge two nested org.json.JSONObject合并两个嵌套的 org.json.JSONObject
【发布时间】:2017-12-07 07:05:26
【问题描述】:

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

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

第二个是

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

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

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

我对这两个对象的键一无所知,所以我需要在这些对象上动态循环并进行合并。是否有任何内置方法可以做到这一点。谢谢。

【问题讨论】:

  • c1: val1 来自哪里?
  • @ScaryWombat 它是 c:val1 而不是 c1。这是一个错误,谢谢你的确认

标签: java json


【解决方案1】:
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;
}

【讨论】:

    猜你喜欢
    • 2017-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-31
    • 2016-03-27
    • 2017-09-25
    • 2021-11-01
    • 1970-01-01
    相关资源
    最近更新 更多