我正在尝试解析openweathermap.org api
WeatheModel.java
public class WeatherModel {
private ListDays[] listDays;
@JsonProperty("list")
public ListDays[] getListDays() {
return listDays;
}
这里有两个班级http://pastebin.com/vySPfRSS
Main.java
public class Main {
public static final String WEATHER = "JSON from http://api.openweathermap.org/data/2.5/forecast/daily?q=London&mode=json&units=metric&cnt=7"
public static void main(String[] args) throws IOException {
ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
WeatherModel rootNode = mapper.readValue(WEATHER, WeatherModel.class);
如何从WeatherModel获取一个(现在是7个项目的列表)项目?
答案 0 :(得分:1)
只需使用索引从数组中访问对象。
ListDays[] listDays = rootNode.getListDays();
ListDays first = listDays[0];
ListDays second = listDays[1];
数组是对象的序列,在上面的例子中,你描述了一个7 ListDays
的数组。 第一个对象使用索引0,第二个对象使用索引1,依此类推。 [0]
只是意味着您从数组中检索第一个对象。可以通过调用listDays.length
来确定数组的长度。
要遍历所有元素,您可以使用for
- 循环。
for (ListDays l : listDays) {
// Here you have access to one ListDays-object. It is called l.
l.doStuff...
}