从响应中获取对象列表

Get List of object from a Response

我正在调用服务并希望从中获取对象。我很熟悉如何为一个对象做如下:

Response response = //make service call
Account account = response.readEntity(Account.class)

现在,如果服务调用返回帐户列表,我如何从响应中读取实体?

List<Account> accounts = response.??

你能试试下面的方法吗

response.readEntity(new GenericType<List<Account>>() {});

如果您使用 com.fasterxml.jackson.databind.ObjectMapper 进行解组(我从您的描述中不明白),您可以使用:

public <T> List<T>  parseDataList(final String name, final Class<T> clazz) {
    return objectMapper.readValue(
            new ClassPathResource(PATH_TO_SOURCE).getInputStream(),
            objectMapper.getTypeFactory().constructCollectionType(List.class, clazz)
    );
}

您可以通过 ArrayList<Account> class 类型

List<Account> account = response.readEntity(new ArrayList<Account>().getClass())