我在src/main/resources/routes.txt
的Jersey项目中将以下JSON数组作为文件。我想将它转换为Java对象,以便在mon-fri or sat or sun
的情况下获得时间。我在this链接的帮助下生成了以下课程。如何从这个生成的结构中获取ArrivalTime类的时间?我应该将所有这些生成的类作为根类的内部类还是单独放置?
我感谢任何帮助。
JSON简单:
[{
"route": 1,
"info": {
"stops": {
"arrival_time": {"mon-fri": ["04:24","05:10","05:40"],
"sat": ["05:34","05:55","06:15"],
"sun": ["07:00","08:00","05:40"]
},
"stops_name": "Tension Way"
},
"direction": "Surrey Quays"
}
}]
生成的课程:
public class Root {
private Integer route;
private Info info;
}
public class Info {
private Stops stops;
private String direction;
}
public class Stops {
private ArrivalTime arrivalTime;
private String stopsName;
}
public class ArrivalTime {
private List<String> monFri = new ArrayList<String>();
private List<String> sat = new ArrayList<String>();
private List<String> sun = new ArrayList<String>();
}
代码:
ObjectMapper mapper = new ObjectMapper();
FileReader fileReader;
try {
fileReader = new FileReader("src/main/resources");
try {
Root readValue = mapper.readValue(fileReader, Root.class);
readValue.getInfo();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
答案 0 :(得分:1)
List<String> monFri = readValue().getInfo().getStops().getArrivalTime().getMonFri();
这是JSON对象的结构,也是映射到JSON的Java对象的结构。
这些类应该是顶级类,或静态嵌套类,而不是内部类。