如何让JSONArray存在于另一个JSONArray中?

时间:2014-01-16 14:13:40

标签: java json arrays

我在JSON对象中的另一个JSONArray中包含JSONArray,如下所示:

 {
  "protocol": "test",
  "query": [
    {
      "locked": false,
      "ids": [
        {
          "id": 1,
          "locked": false
        },
        {
          "id": 1,
          "locked": false
        }
      ]
    },
     {
      "locked": false,
      "ids": [
        {
          "id": 1,
          "locked": false
        },
        {
          "id": 1,
          "locked": false
        }
      ]
    }
  ],
 }

这里我想获得ids数组,我可以得到query数组:

private JSONArray getDB_Query(String json) throws JSONException{

        JSONObject jsonObj = null;
        try {
            jsonObj = new JSONObject(json);
        } catch (JSONException e) {
            Login.errorMessage.setText(sys_err);
        }

        JSONArray query = jsonObj.getJSONArray("query");
        return query;

    }

现在,如果我想获得ID,那是真的:

        jsonObj = new JSONObject(query.toString()); // query is the JSONArray I retrieved from the above method

        for(int i= 0; i < query.length(); i ++){
            JSONArray ids_query = jsonObj.getJSONArray("ids");
        }

1 个答案:

答案 0 :(得分:0)

更新您的上一个for循环,如:

for(int i= 0; i < query.length(); i ++){
            JSONArray ids_query = query.getJSONObject(i).getJSONArray("ids");
        }