使用 JSONArray 作为请求主体
在排球中集成的默认请求不允许在 POST 请求中将 JSONArray 作为请求主体传递。相反,你只能将 JSON 对象作为参数传递。
但是,不是将 JSON 对象作为参数传递给请求构造函数,而是需要覆盖 Request.class 的 getBody() 方法。你还应该将 null 作为第三个参数传递:
JSONArray requestBody = new JSONArray();
new JsonObjectRequest(Request.Method.POST, REQUEST_URL, null, RESP_LISTENER, ERR_LISTENER) {
    @Override
    public byte[] getBody() {
        try {
            return requestBody.toString().getBytes(PROTOCOL_CHARSET);
        } catch (UnsupportedEncodingException uee) {
            // error handling
            return null;
        }
    }
};
参数说明:
- REQUEST_URL- 发送你的请求的完整 URL。
- RESP_LISTENER- 一个- Response.Listener<?>对象,成功完成后调用- onResponse(T data)方法。
- ERR_LISTENER- 一个- Response.ErrorListener对象,其- onErrorResponse(VolleyError e)方法在请求失败时被调用。