Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使用volley库从数组中获取json数据?_Android_Json_Listview_Android Studio_Android Volley - Fatal编程技术网

Android 如何使用volley库从数组中获取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

我的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 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将为您节省大量时间