如何从Java中的JSON字符串中检索值数组中的值

时间:2012-04-20 12:38:04

标签: java json

返回以下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字符串中的值数组吗?

3 个答案:

答案 0 :(得分: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"));
}

答案 1 :(得分:1)

jObject.getJSONArray("trips").getJSONObject(0).getString("tripDestination");

答案 2 :(得分: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);