有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在Android studio中使用截取从mysql服务器请求数据

这就是我尝试过的: 数据库在我的本地主机中,我使用自己的IP

StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {

                    try{
                    JSONArray array = new JSONArray(response);

                        for (int x = 0; x<array.length();x++){

                            JSONObject ob = array.getJSONObject(x);

                            Alumnos list = new Alumnos();
                            list.setUsername(ob.getString("username"));
                            list.setJob(ob.getString("job"));
                            list.setAge(ob.getInt("age"));

                            alumnos.add(list);

                        }

                        updateRecycler(alumnos);

                    } catch (Exception e) {
                        e.printStackTrace();
                    }
            }


            }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Log.i("Error: ", error.toString());
        }
    }

    );
    queue.add(stringRequest);
}

我试图在回收器视图中显示我的结果,但出现下一个错误:

10-03 21:41:28.033 10077-10077/? W/System.err: org.json.JSONException: Value {"result":[{"userid":"1","username":"Luis","job":"developer","age":"23"},{"userid":"2","username":"Alejandro","job":"agronomo","age":"24"},{"userid":"3","username":"Gabriel","job":"Redes","age":"24"}]} of type org.json.JSONObject cannot be converted to JSONArray

我想我可能遗漏了一些非常明显的东西,因为我在Logcat中得到了数组


共 (1) 个答案

  1. # 1 楼答案

    1. 您正在接收一个JSONObject({}
    2. 您的数据位于JSONArray([])中,即result,因此请使用

    JSONObject obj = new JSONObject(response);
    JSONArray array = obj.getJSONArray("result");