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
jObject.getJSONArray("trips").getJSONObject(0).getString("tripDestination");
于 2012-04-20T12:43:52.490 に答える
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 に答える
0

次を使用できます。

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

ただし、jsonの解析にGSONを使用することを検討してください。可愛い:

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 に答える