使用 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)方法在請求失敗時被呼叫。