我正在使用Volley与API进行交互。我需要将发布请求(带有参数)发送到返回JSON数组的服务。

JsonObjectRequest有一个构造函数,该构造函数采用一个方法和一组参数

JsonObjectRequest(int method, java.lang.String url, JSONObject jsonRequest, Response.Listener<JSONObject> listener, Response.ErrorListener errorListener)

但是JSONArrayRequest(我需要的那个)只有一种形式的构造函数
JsonArrayRequest(java.lang.String url, Response.Listener<JSONArray> listener, Response.ErrorListener errorListener)

如何使它发送带有数据的POST请求?

最佳答案

他们可能会在以后添加它,但是与此同时,您可以自己添加所需的构造函数:

public JsonArrayRequest(int method, String url, JSONObject jsonRequest,
        Listener<JSONArray> listener, ErrorListener errorListener) {
    super(method, url, (jsonRequest == null) ? null : jsonRequest.toString(),
        listener, errorListener);
}

这没有经过测试,但是我没有理由不这样做,因为实现细节在父类(super class)JsonRequest中。

试试看,看看是否可行。

编辑:

我打电话了!在我回答这个问题之后,他们花了将近两年的时间,但 Volley 团队在2015年3月19日将这个构造函数添加到了 repo 协议(protocol)中。你猜怎么着?这是EXACT语法。

09-28 14:08