我正在使用newsapi.org的api开发新闻应用程序。我正在使用排球库制作JSONArrayRequest并获取数据。我试图让我了解json数组和json对象,以了解解析。不幸的是,我无法解析响应。它总是调用OnErrorResponse,其中响应是json数据。有人可以指导我如何解析响应吗?
网站网址:
https://newsapi.org/docs/endpoints/sources
解析:
public void jsoncall() {
JsonArrayRequest arrayRequest = new JsonArrayRequest(URL_JSON, new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
JSONObject jsonObject;
Log.d("OnResponse", "" + response);
for (int i = 0; i < response.length(); i++) {
try {
jsonObject = response.getJSONObject(i);
JSONArray jsonArray = jsonObject.getJSONArray("sources");
JSONObject jsonObject1 = jsonArray.getJSONObject(i);
Toast.makeText(getActivity(), "" + jsonObject1.getString("name"), Toast.LENGTH_SHORT).show();
//Toast.makeText(MainActivity.this,anime.toString(),Toast.LENGTH_SHORT).show();
lstAnime.add(anime);*/
} catch (JSONException e) {
e.printStackTrace();
}
}
Toast.makeText(getActivity(), "Size of Liste " + String.valueOf(lstAnime.size()), Toast.LENGTH_SHORT).show();
Toast.makeText(getActivity(), lstAnime.get(1).toString(), Toast.LENGTH_SHORT).show();
setRvadapter(lstAnime);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d("OnErrorResponse",""+error.toString());
}
});
requestQueue = Volley.newRequestQueue(Objects.requireNonNull(getActivity()));
requestQueue.add(arrayRequest);
}
亲爱的您正在接收JSONObject,包括“状态”和“源”。我建议调用JsonObjectRequest,然后解析您的响应以获取JSONArray“ sources”:response.getJSONArray(“ sources”);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句