使用 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)方法在请求失败时被调用。