Estoy tratando de llamar a un punto final de descanso usando Volley (biblioteca HTTP) en la aplicación Android/Java. Aquí está mi código,
RequestQueue queue = Volley.newRequestQueue(this); String url ="https://covid19datasl.herokuapp.com/countries"; StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() { @Override public void onResponse(String response) { System.out.println(response); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { System.out.println("Error"); } });Pero me da un String una respuesta como esta,
[{"country":"USA","countryCode":"US"},{"country":"India","countryCode":"IN"},{"country":"Brazil","countryCode":"BR"}] ¿Cómo convierto esta String en un objeto itarable?
No hay necesidad de otras bibliotecas además de Volley.
Utilice Volleys JsonArrayRequest para recuperar las respuestas de JSONArray .
RequestQueue queue = Volley.newRequestQueue(this); String url = "http://my-json-feed"; JsonArrayRequest jsonArrayRequest = new JsonArrayRequest (Request.Method.GET, url, null, new Response.Listener<JSONArray>() { @Override public void onResponse(JSONArray response) { // do something with the response } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { // TODO: Handle error } }); // Add request to queue queue.add(jsonArrayRequest);