如何通过索引获取json属性

时间:2018-08-13 14:39:55

标签: android gson android-volley

在一个json文件中,我有几个属性,其中一些包含一个对象,其中一些是对象数组。包含对象数组的属性称为“产品”。 但是我知道我要解析的那个属性的位置是3。所以要解析被称为“产品”的属性的内容

代码

 private void fetchPosts2() {
    JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, API_BASE_URL, null, new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {
            Log.i(TAG, String.valueOf(response));
            String json = null;
            JSONObject jresponse = null;

            try {
                jresponse = response.getJSONObject(3); //the arguments 3 is marked with red it is expected to be a string???
            } catch (JSONException e) {
                e.printStackTrace();
            }
            Log.i(TAG, "" + jresponse);//always null


            /*String data = "{ ... }";
            Object json = new JSONTokener(data).nextValue();
            if (json instanceof JSONObject);

            else if (json instanceof JSONArray)*/
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {

        }
    });
    requestQueue.add(request);
}

1 个答案:

答案 0 :(得分:0)

您应该使用JsonArrayRequest而不是JsonObjectRequest来获取带有索引的元素。