我使用MappingJackson2HttpMessageConverter(),我找到了如何在json中获取一个对象。
可以这样做:
MyClass result = restTemplate.getForObject(url, MyClass.class);
但是,如果我有一个对象列表呢?例如
[{"first" : "1", "second" : "2",},
{"first" : "100", "second" : "200",}
]
或者如果我有更复杂的东西 http://api.openweathermap.org/data/2.5/weather?q=London,uk
有人可以通过一些代码示例来回答我吗?感谢
答案 0 :(得分:0)
更改:
MyClass result = restTemplate.getForObject(url, MyClass.class);
致:
MyClass []result = restTemplate.getForObject(url, MyClass[].class);
更新:
您为每个节点创建 pojo 。
示例:
coord: {
lon: -0.13,
lat: 51.51
}
成为:
Class coord {
int lon;
int lat;
setters/getters
}
代码:
List<MediaType> acceptableMedia = new ArrayList<MediaType>();
acceptableMedia.add(MediaType.APPLICATION_JSON);
requestHeaders.setAccept(acceptableMedia);
HttpEntity< ?> requestEntity = new HttpEntity<Object>(requestHeaders);
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
// Wheater
ResponseEntity<Weather> responseEntity = restTemplate.exchange("http://api.openweathermap.org/data/2.5/weather?q=London,uk", HttpMethod.GET, requestEntity, Weather.class);
Weather weather= responseEntity.getBody();
N.B:您可以使用http://jsongen.byingtondesign.com/生成Pojo课程