2010-12-17 35 views
1

我有一個JSONObject與數據結構如下我如何遍歷一個機器人JSONArray witin一個JSONObject

[{"distance":"200 meters","location_id":"519"},{"distance":"300 meters","location_id":"219"}] 

和我試圖遍歷該對象內的每個陣列,我有以下代碼,其中locationArray是有效的JSONObject

for (int j = 0; j < locationArray.length(); j++) { 

    JSONObject j_obj; 
    j_obj = locationArray.getJSONArray(j); //error here 
    location_id = j_obj.getString("location_id"); 
} 

但我收到一個錯誤,試圖找到每個具有整數的locationArray的子​​數組。

回答

4

解決方案:

JSONArray rootArray = new JSONArray(jsonString); 
int len = rootArray.length(); 
for(int i = 0; i < len; ++i) { 
    JSONObject obj = rootArray.getJSONObject(i); 
    location_id = obj.getString("location_id"); 
} 

。在你的代碼中的錯誤。 j_obj = locationArray.getJSONArray(j);j_obj = locationArray.getJSONObject(j);,如包裹着花括號對象表示JSONObject,而不是一個JSONArray

編輯:您可以考慮使用obj.optString("location_id");以避免潛在的問題