如何将String响应转换为可迭代对象 [英] How convert a String response to an iterable object

查看:119
本文介绍了如何将String响应转换为可迭代对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用Android/Java应用程序中的Volley(HTTP库)调用休息端点.这是我的代码,

I am trying to call a rest end point using Volley (HTTP library) in Android/Java app. Here is my code,

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

但是它给我一个String这样的响应,

But it gives me an String a response like this,

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

如何将String转换为可迭代对象?

How do I convert this String to an itaratable object?

推荐答案

除了Volley,不需要任何其他库.

No need for any other libraries beside Volley.

使用Volleys JsonArrayRequest 来检索JSONArray响应. /p>

Use Volleys JsonArrayRequest for retrieving JSONArray responses.

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

这篇关于如何将String响应转换为可迭代对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆