从响应中获取对象列表
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())
我正在调用服务并希望从中获取对象。我很熟悉如何为一个对象做如下:
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())