0

鉴于返回的以下 JSON 字符串:

String s = "{"errorCode":0,"result":"Processed","trips":[{"tripDestination":"Vancouver","tripStartTime":"07:41"},{"tripDestination":"Montreal","tripStartTime":"08:04"}]}";

我可以很容易地得到 errorCode 和结果,例如:

JSONObject jObject;
jObject = new JSONObject(s);

String result = jObject.getString("result");
Log.v("JSON Result", result);

但是我知道它是 JSON 字符串中的一个值数组,我会得到tripDestiation 值吗?

4

3 回答 3

1

你可能想要这个getJSONArray()方法。

请参阅:http ://www.json.org/javadoc/org/json/JSONObject.html#getJSONArray(java.lang.String )

编辑:我会使用类似的东西:

ArrayList<String> destinations = new ArrayList<String>();
JSONArray trips = jObject.getJSONArray("trips");
for (int i = 0; i < trips.length(); i++) {
    destinations.add(trips.getJSONObject(i).getString("tripDestination"));
}
于 2012-04-20T12:41:16.987 回答
1
jObject.getJSONArray("trips").getJSONObject(0).getString("tripDestination");
于 2012-04-20T12:43:52.490 回答
0

您可以使用:

JSONArray jsonArray = jObject.getJSONArray("trips");

但是考虑使用GSON来解析 json。它很可爱:

public class Class1 {
    private String erroCode;
    private String Processed;
    private Class2[] trips;
}

class Class2 {
    private String tripDestination;
    private String tripStartTime;
}

Gson gson = new Gson();
Class1 object = gson.fromJson(s, Class1.class);
于 2012-04-20T12:45:16.003 回答