我在使用RestTemplate从ombdapi检索响应时遇到问题。我读这个没问题(通过id获得1部电影) http://www.omdbapi.com/?i=tt0903624但是从集合中读取(搜索时),我不知道该怎么做:http://www.omdbapi.com/?s=hobbit
我认为问题可能是搜索:部分,因为这不仅仅是一个数组(如本例http://thespringway.info/spring-web/map-to-list-of-objects-from-json-array-with-resttemplate/中所示)。以下行是问题所在:
ResponseEntity<OmdbMovie[]> responseEntity = restTemplate.getForEntity("http://www.omdbapi.com/?s=" + title, OmdbMovie[].class);
并抛出无法从START_OBJECT标记中反序列化ba.codecentric.excelimdb.OmdbMovie []的实例
答案 0 :(得分:0)
您需要在http://www.omdbapi.com/?s=hobbit中解析与JSON类似的结构。
以上网址的结果为:
例如,您可以编写此类:
public class OmdbMovieList {
private List<OmdbMovie> search;
.....
}
然后使用:
ResponseEntity<OmdbMovieList> responseEntity = restTemplate.getForEntity("http://www.omdbapi.com/?s=" + title, OmdbMovieList.class);