-4

here_is_json_api

And my code

 ArrayRequest = new JsonArrayRequest(JSON_URL, new Response.Listener<JSONArray>() {
            @Override
            public void onResponse(JSONArray response) {

                JSONObject jsonObject = null;

                for (int i = 0 ; i<response.length();i++) {

                    try {
                       // JSONObject jsonObject = (JSONObject) response.get(i);
                       jsonObject = response.getJSONObject(i);
                        JSONObject jsonObjectt = jsonObject.getJSONObject("search_result");
                        Users users = new Users();
                        users.setId(jsonObjectt.getString("id"));
                        users.setUser(jsonObjectt.getString("User"));
                        users.setName(jsonObjectt.getString("name"));
                        users.setWho(jsonObjectt.getString("who"));
                        users.setImage(jsonObjectt.getString("image"));
                        userlist.add(users);
                    }
                    catch (JSONException e) {
                        e.printStackTrace();
                    }
                }

                setRvadapter(userlist);

i can not fetch any data from api , Its says JSONObject cannot be converted to JSONArray in android

Phantômaxx
  • 37,901
  • 21
  • 84
  • 115
  • 1
    Possible duplicate of [How do I parse JSON in Android?](https://stackoverflow.com/questions/9605913/how-do-i-parse-json-in-android) – Rohit5k2 Mar 29 '19 at 12:29
  • 1
    it should be fairly obvious that you make a request for an array with JsonArrayRequest but the data returned is not an array but an object. – Tim Mar 29 '19 at 12:30
  • I saw many question in here like this but I can not solved with my code – Mohaiminur Rahaman Mar 29 '19 at 12:57

1 Answers1

0

you are using JsonArray as a response and your web service return a jsonobject

new JsonObjectRequest
                (Request.Method.GET, url, null, new Response.Listener<JSONObject>() {

                    @Override
                    public void onResponse(JSONObject response) {
                        try {
                        JSONArray teachers = response.getJSONArray("search_result");
                        for(int i = 0; i < teachers.length() ; i++) {
                            // do what ever you want with
                            Teacher teacher = new Teacher();
                            // here is how to get name
                            teacher.setId(teachers.getJSONObject(i).getString("name"));
                            // do the rest like this.
                        }
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            }, new Response.ErrorListener() {

                @Override
                public void onErrorResponse(VolleyError error) {
                    // TODO: Handle error
                }
            });
Houssein Zouari
  • 712
  • 6
  • 18