2

我有以下 JSON 数据结构:

{
    "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);
}
4

1 回答 1

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);
}
于 2012-09-25T13:19:28.467 回答