我想使用Android REST spring框架来获取一个对象Array

时间:2014-10-14 09:09:05

标签: android spring rest

我使用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

有人可以通过一些代码示例来回答我吗?感谢

1 个答案:

答案 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课程