如何将字符串响应转换为iterable对象

dbf7pr2w  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(407)

我试图在android/java应用程序中使用volley(http库)调用rest端点。这是我的密码,

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");
            }
        });

但它给了我一个字符串一个这样的响应,

[{"country":"USA","countryCode":"US"},{"country":"India","countryCode":"IN"},{"country":"Brazil","countryCode":"BR"}]

我如何转换这个 String 一个可调节的物体?

7gyucuyw

7gyucuyw1#

不需要任何其他图书馆除了凌空。
使用截击jsonarrayrequest检索 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);

相关问题