【问题标题】:Java merge all elements in List of JSON to one elementJava将JSON列表中的所有元素合并为一个元素
【发布时间】:2021-11-18 20:56:11
【问题描述】:

我在数据库中有一个类似这个存储的 JSON 列表:

  • 元素 1:
{
  "detail": {
    "10": {
      "female": {
        "visited_person_count": 1,
        "visited_stay_time_sum": 10
      },
      "male": {
        "visited_person_count": 2,
        "visited_stay_time_sum": 20
      }
    },
    "20": {
      "female": {
        "visited_person_count": 3,
        "visited_stay_time_sum": 30
      },
      "male": {
        "visited_person_count": 4,
        "visited_stay_time_sum": 40
      }
    }
  }
}
  • 元素 2:
{
  "detail": {
    "10": {
      "female": {
        "visited_person_count": 9,
        "visited_stay_time_sum": 90
      },
      "male": {
        "visited_person_count": 8,
        "visited_stay_time_sum": 80
      }
    },
    "20": {
      "female": {
        "visited_person_count": 7,
        "visited_stay_time_sum": 70
      },
      "male": {
        "visited_person_count": 6,
        "visited_stay_time_sum": 60
      }
    }
  }
}

...等等

我想将所有这些元素组合成一个 JSON,其中包含每个元素的总和。结果如下图

{
  "detail": {
    "10": {
      "female": {
        "visited_person_count": 10,
        "visited_stay_time_sum": 100
      },
      "male": {
        "visited_person_count": 10,
        "visited_stay_time_sum": 100
      }
    },
    "20": {
      "female": {
        "visited_person_count": 10,
        "visited_stay_time_sum": 100
      },
      "male": {
        "visited_person_count": 10,
        "visited_stay_time_sum": 100
      }
    }
  }
}

我使用 java 转换为 HashMap 并迭代元素,但它非常复杂。有没有更简单的方法?

请帮助我。提前谢谢!

【问题讨论】:

    标签: java json collections merge sum


    【解决方案1】:

    首先欢迎来到stackoverflow。对于您的问题,您可以使用JSONObjecta few controls 来执行此操作(您也可以在数据库端处理这些操作)。我正在分享一些来自 stackoverflow 的问题来指导您。

    Merge (Concat) Multiple JSONObjects in Java

    Java: Merging two json objects together with primary key

    不要忘记查看之前提出的问题,尝试针对您的问题进行重构并应用它们。祝你好运:)

    【讨论】:

      猜你喜欢
      • 2022-09-30
      • 2018-11-27
      • 2018-03-11
      • 1970-01-01
      • 2017-05-02
      • 2014-06-16
      • 2021-11-05
      • 2021-06-15
      • 1970-01-01
      相关资源
      最近更新 更多