如何使用 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
库,它允许您(除其他外)无需包装即可传递集合。
我必须将我们的 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
库,它允许您(除其他外)无需包装即可传递集合。