Android 如何使用volley库从数组中获取json数据?
我的json数据Android 如何使用volley库从数组中获取json数据?,android,json,listview,android-studio,android-volley,Android,Json,Listview,Android Studio,Android Volley,我的json数据 {"code":1200,"message":"Data Retrieved","data":[{"id":1,"name":"Vangipurapu Venkata Sai Laxman","skills":"Cricketer, Batsman","image":"https:\/\/qph.ec.quoracdn.net\/main-qimg-4f5029c4319b41270f5643d461979645-c"},{"id":2,"name":"Himesh Resha
{"code":1200,"message":"Data Retrieved","data":[{"id":1,"name":"Vangipurapu Venkata Sai Laxman","skills":"Cricketer, Batsman","image":"https:\/\/qph.ec.quoracdn.net\/main-qimg-4f5029c4319b41270f5643d461979645-c"},{"id":2,"name":"Himesh Reshammiya","skills":"music director, singer, producer, lyricist, distributor and actor","image":"https:\/\/starsunfolded-1ygkv60km.netdna-ssl.com\/wp-content\/uploads\/2016\/01\/Himesh-Reshammiya-nasal-singing.jpg"},{"id":3,"name":"Rajkummar Rao","skills":"Indian actor","image":"https:\/\/encrypted-tbn0.gstatic.com\/images?q=tbn:ANd9GcQhShfz5g33MOXBKtLlEXo16uuxEpHFL8NYQE2lg071avavYeKr"},{"id":4,"name":"Pusarla Venkata Sindhu","skills":"badminton player","image":"https:\/\/encrypted-tbn0.gstatic.com\/images?q=tbn:ANd9GcTC0wYTxk72MNx5IADgDDMAqUz9AEyfR6UZexWNqn_fKFNZCLz-"}]}
这是我的主要活动
MainActivity.java
JsonArrayRequest rqst = new JsonArrayRequest(url,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
for (int i = 0; i < response.length(); i++) {
try {
JSONObject obj = response.getJSONObject(i);
DataSet dataSet = new DataSet();
dataSet.setName(obj.getString("name"));
dataSet.setImage(obj.getString("image"));
dataSet.setSkills(obj.getString("skills"));
list.add(dataSet);
} catch (JSONException e) {
e.printStackTrace();
}
}
adapter.notifyDataSetChanged();
}
JsonArrayRequest rqst=新的JsonArrayRequest(url,
新的Response.Listener(){
@凌驾
public void onResponse(JSONArray响应){
对于(int i=0;i
我应该做哪些更改来获取数据?我应该将该数据获取到listview中。您需要一个JSONArray,但您的响应是一个包含JSON数组的JSON对象 将您的请求修改为
StringRequest
StringRequest strtRequest = new StringRequest(Request.Method.POST, url,
new Response.Listener<String>()
{
@Override
public void onResponse(String response) {
JSONObject obj = new JSONObject(response);
JSONArray arr=obj.getJSONArray("data");
for(int i=0;i<arr.length();i++){
JSONObject jo=arr.getJSONObject(i);
DataSet dataSet = new DataSet();
dataSet.setName(jo.getString("name"));
dataSet.setImage(jo.getString("image"));
dataSet.setSkills(jo.getString("skills"));
list.add(dataSet);
}
}
},
new Response.ErrorListener()
{
@Override
public void onErrorResponse(VolleyError error) {
// error
Log.d("Error.Response", response);
}
}
) ;
StringRequest strtRequest=新的StringRequest(Request.Method.POST,url,
新的Response.Listener()
{
@凌驾
公共void onResponse(字符串响应){
JSONObject obj=新的JSONObject(响应);
JSONArray arr=obj.getJSONArray(“数据”);
对于(int i=0;i这里是如何做的示例查看此答案感谢您的帮助…它工作正常,请阅读更多关于JSON和google Gson的信息。Gson将为您节省大量时间