如何从JSON数组中获取JSON数据?

时间:2020-01-21 19:31:44

标签: android json android-volley android-json

我正在使用Volley库来理解使用JSON数据,我已经成功检索了一些数据,并且想知道如何从json数组中获取单个数据?我已经尝试做过用户在上一个stackover流文章中建议的操作,但是仅显示json数组数据

@Override
public void downloadJson() {

    final String url = "https://dog.ceo/api/breeds/image/random/2";
    JsonObjectRequest getRequest = new JsonObjectRequest(Request.Method.GET, url, null,
            new Response.Listener<JSONObject>() {
                @Override
                public void onResponse(JSONObject response) {

                    try {
                        JSONArray jsonArray = response.getJSONArray("message");
                        Log.i("jsonArray", jsonArray.toString());

                        for(int i=0;  i>jsonArray.length(); i++){

                            JSONObject object = jsonArray.getJSONObject(i);

                            Log.i("obj", object.toString());


                        }



                    } catch (JSONException e) {
                        e.printStackTrace();

                    }

                }
            },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                }
            }
    );

    requestQueue.add(getRequest);

}

2 个答案:

答案 0 :(得分:0)

我不能理解你的问题。 但是在你的代码中有一些问题。 在下面,您可以看到我的提案代码。

for(int i=0;  i<jsonArray.length(); i++)
{
    Log.i("obj", jsonArray.get(i).toString());
}

在此代码中,您可以从JSONArray获取每个数据,并使用该URL加载图像。 如果这不是您的问题的答案,那么如果您对您的问题做出一些解释,我会很高兴。

答案 1 :(得分:0)

for循环中有错误

for(int i=0;  i<jsonArray.length(); i++){ 

 JSONObject object = jsonArray.getJSONObject(i);
 Log.i("obj", object.toString());

}

希望这会有所帮助!