我知道如何使用“Gson”库反序列化普通的JSON对象,但我遇到了使用多个JSON对象和数组反序列化JSON数组的问题。我想在下面这个简单的arrival_time
JSON对象中获取时间,但我不知道如何构建我的类来完成它。有人能解释我怎么做吗?
简单:
[{"route": 1,
"info": [
{"direction": "Surrey Quays"},
{"stops": [{"stops_name": " Tenison Way"},
{"arrival_time":{
"mon-fri": [ "05:38", "06:07","06:37"],
"sat": ["05:34","06:01","06:31"],
"son": ["06:02","06:34","07:04"]
}
}
]
}
]
}]
答案 0 :(得分:1)
您可以使用以下结构解析此Json:
class ArrivalTime {
public List<String> mon_fri;
public List<String> sat;
public List<String> son;
}
class Stop {
public String stop_name;
public ArrivalTime arrival_time;
}
class Info {
public String direction;
public List<Stop> stops;
}
class RouteInfo {
public Integer route;
public List<Info> info;
}
然后像这样使用它:
Gson gson = new Gson();
RouteInfo[] routes = gson.fromJson(/* your json string*/, RouteInfo[].class);
到达时间将在这样的地方可用(它很难看,但我只是想让你呈现这个json字符串的样本结构):
System.out.println(routes[0].info.get(1).stops.get(1).arrival_time.sat.get(0));
答案 1 :(得分:0)
要了解结构,您可以使用javascript对象或在线构建器。