解组 Json 列表中的 Json 数组
Unmarshal a Json Array in a Json List
我需要获取所有电影的列表。
我处于这种情况,我不知道如何处理它。
我的项目分为两个较小的项目。后端项目和前端项目。
生成包含电影列表的 Json 的后端部分。
服务有这个模式
@GET
@Produce(json) // here is a particular library and it funcion correctly.
List<Film> getAllFilms
调用此服务的输出具有此模式:
[{"title:abc","time": 5486448}, {....}, {....}]
在前端项目中,我使用的是 Resteasy。
我已经创建了一个 class 服务来调用后端并管理响应
List<Film> film= new ArrayList<>();
try{
ResteasyClient client = new ResteasyClientBuilder().build();
ResteasyWebTarget target = client.target("http://localhost:8080/film");
Response response = target.request().get();
film= List<Film>) response.readEntity(Film.class);
我有一个例外:
javax.ws.rs.ProcessingException: org.codehaus.jackson.map.JsonMappingException: Can not deserialize instance of FILM out of START_ARRAY token
现在我正试图理解一些东西,但是到处都是 material,我正在四处游荡。
如何将数组解组为列表?
可以使用jackson的readValue
方法转成List
public List<Film> convert(String jsonString) throws JsonParseException, JsonMappingException,
IOException {
ObjectMapper objectMapper = new ObjectMapper();
List<Film> filmList = objectMapper.readValue(
jsonString,
objectMapper.getTypeFactory().constructCollectionType(
List.class, Film.class));
return filmList;
}
我需要获取所有电影的列表。
我处于这种情况,我不知道如何处理它。 我的项目分为两个较小的项目。后端项目和前端项目。 生成包含电影列表的 Json 的后端部分。
服务有这个模式
@GET
@Produce(json) // here is a particular library and it funcion correctly.
List<Film> getAllFilms
调用此服务的输出具有此模式:
[{"title:abc","time": 5486448}, {....}, {....}]
在前端项目中,我使用的是 Resteasy。 我已经创建了一个 class 服务来调用后端并管理响应
List<Film> film= new ArrayList<>();
try{
ResteasyClient client = new ResteasyClientBuilder().build();
ResteasyWebTarget target = client.target("http://localhost:8080/film");
Response response = target.request().get();
film= List<Film>) response.readEntity(Film.class);
我有一个例外:
javax.ws.rs.ProcessingException: org.codehaus.jackson.map.JsonMappingException: Can not deserialize instance of FILM out of START_ARRAY token
现在我正试图理解一些东西,但是到处都是 material,我正在四处游荡。 如何将数组解组为列表?
可以使用jackson的readValue
方法转成List
public List<Film> convert(String jsonString) throws JsonParseException, JsonMappingException,
IOException {
ObjectMapper objectMapper = new ObjectMapper();
List<Film> filmList = objectMapper.readValue(
jsonString,
objectMapper.getTypeFactory().constructCollectionType(
List.class, Film.class));
return filmList;
}