【问题标题】:combine JSON object and JSON array to get another JSON object in Java结合 JSON 对象和 JSON 数组以在 Java 中获取另一个 JSON 对象
【发布时间】:2018-06-21 15:16:09
【问题描述】:

我有List<Person>,它的 JSON 输出如下:

[{"name":"john","email":"john@email.com"},
{"name":"daniel","email":"daniel@email.com"},
{"name":"thomas","email":"thomas@email.com"}]

以及其 JSON 格式如下的人数:{"number":3}

如何将以上两者结合得到结果:

{
"number":3,
"persons":[{"name":"john","email":"john@email.com"},
        {"name":"daniel","email":"daniel@email.com"},
        {"name":"thomas","email":"thomas@email.com"}]
}

我的 Java 代码是基于 jersey2 的 JAX-RS 应用程序。为了更清楚,我有一个从数据库中获取的人员列表,我还有一个整数变量号。并结合 List 和整数变量以高效且稳健的方式获得上述结果。

【问题讨论】:

  • 您可以创建新的 POJO 或使用 Map
  • 我不想使用循环创建 JSON。我想要的是如果可能的话不使用任何循环。

标签: java json jax-rs jersey-2.0


【解决方案1】:

由于您使用的框架已经自动转换为 JSON,因此最简单的方法是只返回一个新对象。

public class Result {
  private int number;
  private List<Person> persons;

  //leaving creation of constructor to you
}

然后只需实例化该对象并返回它。

【讨论】:

    【解决方案2】:

    当你想直接将 Object 映射到 json 或者想将 json 转换为 object 时,你可以使用 GSON 库。这将为您提供更大的灵活性和控制力。

    下载链接 - http://code.google.com/p/google-gson/

    教程链接-http://www.mkyong.com/java/how-do-convert-java-object-to-from-json-format-gson-api/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-29
      • 1970-01-01
      • 1970-01-01
      • 2018-09-22
      • 2015-06-10
      • 2021-08-07
      相关资源
      最近更新 更多