我知道如何使用“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"]
}
}
]
}
]
}]
最佳答案
您可以使用以下结构解析此 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));
关于java - 使用 Gson 反序列化对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30854142/