如何将String响应转换为可迭代对象 [英] How convert a String response to an iterable object
本文介绍了如何将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屋!
查看全文