如何使用 RestEasy 将 JSON 转换为 POJO 列表

How to convert JSON to list of POJOs using RestEasy

我必须将我们的 j2ee 应用程序与 REST 网络服务集成。我想使用 JBoss 中的 RestEasy JAX-RS 实现。 Web 服务 returns 一个 JSON 格式的数组。我有这段代码:

Client client = ClientBuilder.newClient();
WebTarget target = client.target("http://myservices.com/schemes/all");
Response response = target.request().get();

我可以使用 RestEasy 将此 "response" 对象映射到 List<Scheme> 吗?谢谢

前提是您的 JSON 提供商能够将 JSON 转换为适当的实体,那么可以。您在代码中调用的 get 方法有一个重载版本,它接受要将结果转换为的实体的 class。由于序列化某些集合的实现存在问题,因此您的类型必须包装在 GenericType class 中,例如:

List<Scheme> schema = [...].get(new GenericType<List<Scheme>>(){});

上述方法应该适用于几乎每个 JAX-RS 兼容的实现。

您还可以使用 Jackson 库,它允许您(除其他外)无需包装即可传递集合。