首页 > 解决方案 > 我正在尝试获取 JSON 数据并将其用作 android 应用程序,使用 volley 库,但即使我找不到代码中的问题,它也无法正常工作

问题描述

// 这里我们从 setOnClickListener 方法调用一个方法调用 jsoneParse

private void jsonParse(){

//这里我插入了我的网址

    String url = "https://api.myjson.com/bins/hrtn6";   

//json对象请求

    final JsonObjectRequest request = new JsonObjectRequest(Request.Method.POST, url, null, new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {

            try {

// 这是我们解析json对象的重要地方 JSONArray jsonArray = response.getJSONArray("students");

                for(int i = 0; i < jsonArray.length();i++){
                    JSONObject student = jsonArray.getJSONObject(i);
                    String firstname = student.getString("firstname");
                    String lastname = student.getString("lastname");
                    int age = student.getInt("age");


                    detailsText.append(firstname+" "+lastname+" "+String.valueOf(age)+"\n");
                }
            } 

//这些都是错误处理

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

        }
    }, new Response.ErrorListener() {

        @Override
        public void onErrorResponse(VolleyError error) {
            error.printStackTrace();
        }
    });

//这里我们将我们的请求插入到请求队列中

    mQueue.add(request);
}

标签: androidjsonandroid-volley

解决方案


使您的 requestbody 为字符串而不是 null(url 后的参数)

final JsonObjectRequest request = new JsonObjectRequest(Request.Method.POST, url, "", new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject response) {
                .....
            }

     }

这对我有帮助,也许这会帮助你,快乐的编码


推荐阅读