我正在尝试解析这个json。
然而,它不起作用......
我想在出发时解析4,15,C1,4A等所有巴士的expected_departure_time
这是我的代码无效。
try{
String str = response.getString("departures");
JSONArray jsonArray = response.getJSONArray(str);
JSONObject bus = jsonArray.getJSONObject(0);
String four = bus.getString("expected_departure_time");
textView.append(four);
}catch (JSONException e){
e.printStackTrace();
}
JSON
答案 0 :(得分:1)
您所犯的错误是您正在考虑将“离开”视为JsonArray,而JSON示例中并非如此,它是一个JsonObject(在我看来,这是构建这个Json的一种不好的方式) 。 无论如何,你必须通过这样做来获取“离开”JsonObject中的所有JsonObjects:
try
{
String jsonString=response.toString();
JSONObject jObject= new JSONObject(jsonString).getJSONObject("departures");
Iterator<String> keys = jObject.keys();
while( keys.hasNext() )
{
String key = keys.next();
JSONArray innerJArray = jObject.getJSONArray(key);
//This is your example, you can add a loop here
innerJArray(0).getString("expected_departure_time");
}
}
catch (JSONException e)
{ e.printStackTrace(); }
答案 1 :(得分:0)
如果您需要将传输API用于其他功能,要将JSON字符串转换为Java对象,您可以使用GSON自动映射。 按照Leveraging the gson library中的说明操作,并根据此API制作您想要的任何回复。