【发布时间】:2015-05-16 13:30:33
【问题描述】:
我从我的 Android 应用程序中的 Jersey 项目中获取 JSON 字符串 {"status":208,"routes":[1,9,3]}。 JSON 字符串没有标记名称。是否可以用 GSON 库解析它?我实际上只是对其中的 ArrayList routes 值感兴趣。我已经完成了以下操作,但我没有要获取的列表。我怎么能用 Gson 做到这一点?
doInbackground 方法:
StringBuilder sb = new StringBuilder();
reader = new BufferedReader(new InputStreamReader(
conn.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
Gson gson = new Gson();
StopsJSONList obj = gson.fromJson(sb.toString(), StopsJSONList.class);
List<StopsJSON> stopsjson = obj.getStopsList();
Iterator<StopsJSON> iterator = stopsjson.iterator();
while(iterator.hasNext()){
StopsJSON stopsElement = (StopsJSON) iterator.next();
ArrayList<Integer> routeList = stopsElement.getRoute();
}
StopsList 类:
import java.util.ArrayList;
public class StopsJSONList {
private ArrayList<StopsJSON> stops;
public ArrayList<StopsJSON> getStopsList() {
return stops;
}
public void setStopsList(ArrayList<StopsJSON> stopsList) {
this.stops = stopsList;
}
}
停止JSON:
import java.util.ArrayList;
public class StopsJSON {
private int status;
private ArrayList<Integer> route ;
public StopsJSON(int status, ArrayList<Integer> route) {
//super();
this.status = status;
this.route = route;
}
public int getStatus() {
return status;
}
public ArrayList<Integer> getRoute() {
return route;
}
public void setStatus(int status) {
this.status = status;
}
public void setRoute(ArrayList<Integer> route) {
this.route = route;
}
}
【问题讨论】: