java - 使用两个不同的元素序列化 jsonArray

标签 java jackson

我正在使用一个 API,它为我提供了一个包含两个不同元素的数组。

响应如下所示:

[
  [
    {
      "id": 99,
      "title": "Title1"
    },
    {
      "id": 100,
      "title": "Title2"
    }
  ],
  {
    "limit": 50,
    "nextOffSet": 50,
    "totalCount": 388
  }
]

我不知道如何序列化它。有什么线索吗?

最佳答案

如果我理解正确的话,您想要反序列化 json 以便在您的消费者代码中使用一些 java 对象。

有许多库可以帮助您做到这一点。考虑一下 google 的 GSON 库的例子,你可以简单地在其中执行

String jsonString = ... // your json should be here   
List list = new Gson().fromJson(json, List.class);

结果列表将包含两个元素,一个是 id、标题 map 的列表,另一个是包含 limit 和 offset 等元素的 map 。

有关 google GSON 的更多信息,您可以查看 https://github.com/google/gson

如果您想将 json 反序列化为由简单 POJO 组成的对象模型,您可能需要使用更专业的库,例如 Jackson。

关于java - 使用两个不同的元素序列化 jsonArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48324388/

相关文章:

java 从本地化的 NumberFormat 生成正则表达式

java - Web 应用程序在集群环境中工作的要求是什么

java - 如何在 AsyncTask 中使用 ListAdapter?

java - 如何向图表添加趋势线?

java - 程序类型已经存在 : org. codehaus.jackson

java - Jackson 将空值反序列化为长数据类型

java - 使用构建器时无法执行自定义反序列化

java - Jackson ObjectMapper 无法反序列化 POJO,抛出异常 : No suitable constructor found for type [. ..]:无法从 JSON 对象实例化

java - 使用相同变量序列化具有不同数据类型的 JSON

java - 在运行时加载 java 信任存储 - 在 jvm 启动后?