2012-09-25 58 views
2

的價值觀,我有以下的JSON數據結構:的JSONObject和JSONArray - 需要去在陣列

{ 
    "myRequest": { 
    "item1": "value1", 
    "itme2": "value2", 
    "item3Holder": { 
     "id": [ 
     "ID001", 
     "ID002", 
     "ID003", 
     "ID004" 
     ] 
    } 
    } 
}  

我需要能夠得到來自ID []數組的ID值。

我可以得到item1-3的值,但不能分離出id []數組值。

JSONObject requestObj = new JSONObject(data.trim()).getJSONObject("myRequest"); 

// Retrieve items from JSONObject 
String item1 = requestObj.getString("item1"); 
String item2 = requestObj.getString("item2"); 
String item3 = requestObj.getString("item3"); 

// Retrieve all id's 
JSONArray ids = requestSubObj.getJSONArray("item3Holder"); 

for (int i = 0; i < ids.length(); i++) { 
    String id = ids.toString(); 
    logger.info("id : " + id); 
} 
+0

什麼是'requestSubObj'? –

回答

2

我想你應該得到這樣的對象:

JSONObject item3Holder = requestObj.getJSONObject("item3Holder"); 
JSONArray ids = item3Holder.getJSONArray("id"); 

你也需要調用.getString(i)ids對象

for (int i = 0; i < ids.length(); i++) { 
    String id = ids.getString(i).toString(); 
    logger.info("id : " + id); 
}