【问题标题】:JSONObject and JSONArray - Need to get values held in arrayJSONObject 和 JSONArray - 需要获取保存在数组中的值
【发布时间】:2012-09-25 13:14:07
【问题描述】:

我有以下 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);
}

【问题讨论】:

  • 什么是requestSubObj

标签: java json arrays


【解决方案1】:

我认为你应该得到这样的对象:

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

您还需要为ids 对象调用.getString(i)

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多