我正在使用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);
}
答案 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());
}
希望这会有所帮助!