如何使用Volley返回JSONObject

时间:2015-07-27 19:17:55

标签: android android-volley

我写了这个方法:

public JSONObject getJSONFromUrl(String url, final Map<String, String> params) {
    StringRequest post = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
        /**
         *
         * @param response
         */
        @Override
        public void onResponse(String response) {
            try {
                JSONObject jsonResponse = new JSONObject(response);

                Log.v("JSONParser", "response: " + jsonResponse.toString());
            } catch(JSONException e) {
                e.printStackTrace();
            }
        }
    }, new Response.ErrorListener() {
        /**
         *
         * @param error
         */
        @Override
        public void onErrorResponse(VolleyError error) {
            error.printStackTrace();
        }
    }) {
        /**
         *
         * @return
         * @throws AuthFailureError
         */
        @Override
        protected Map<String, String> getParams() throws AuthFailureError {
            return params;
        }
    };

    Volley.newRequestQueue(this.context).add(post);

    return null;
}

我需要返回我在JSONObject中创建的onResponse,但我无法弄清楚如何做到这一点。有没有办法返回JSONObject?我也无法将JSONObject分配给方法中的最终变量并返回它。

1 个答案:

答案 0 :(得分:4)

如果显示的代码确实有效(最多为日志jsonResponse.toString()),you may do as shown here