2012-04-20 23 views
0

鑑於返回以下JSON字符串檢索值從JSON字符串數組值:如何在Java中

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值嗎?

+0

[JSON-簡單(http://code.google.com/p/json-simple/)是JSON的代碼轉換爲Java代碼 – AurA 2012-04-20 12:43:22

回答

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

謝謝你一個簡單的toolkil!這很好用! – pbeaumier 2012-04-20 12:56:34

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); 
+0

很酷。 GSON是否適當反思? – 2012-04-20 12:49:31

+0

對不起,我對這個詞不熟悉。 – 2012-04-20 12:51:05

+0

我想知道它是否使用反射來分配成員的值,因爲在你的例子中它們被聲明爲'私人',並且沒有構造函數和設置器。 – 2012-04-20 12:55:48