如何解析params到JsonObjectRequest getParams不起作用

时间:2015-06-01 08:25:43

标签: android android-volley

作为old version的{​​{1}}。我通过以下方法传递volley.jar

params

但我需要更新凌空,并发现此方法(encodeParameters())已更改为私有。

我还发现要覆盖@Override public byte[] getBody() { if (params != null && params.size() > 0) { return encodeParameters(params, getParamsEncoding()); } return null; } 的方法,这对我来说不起作用。 getParams()的方法getBody如下:

JsonObjectRequest
永远不会打电话给{p> public byte[] getBody() { try { return mRequestBody == null ? null : mRequestBody.getBytes(PROTOCOL_CHARSET); } catch (UnsupportedEncodingException uee) { VolleyLog.wtf("Unsupported Encoding while trying to get the bytes of %s using %s", mRequestBody, PROTOCOL_CHARSET); return null; } } 。所以我现在无法通过getParams()

我还尝试在params param的构造方法中传递params,但它也不起作用。

1 个答案:

答案 0 :(得分:0)

希望我能正确理解你。

通过截击传递params的更简单方法是:

    String url = "some/url";

    Map<String, Object> jsonParams = new HashMap<>();
    jsonParams.put("someparam", getSomeParamObject());

    JsonObjectRequest request = new JsonObjectRequest(Request.Method.POST, url, new JSONObject(jsonParams),
            new Response.Listener<JSONObject>()
            {
                @Override
                public void onResponse(JSONObject response)
                {
                 //do your magic...
                }
            }

有关编码问题,请查看此SO Question是否有帮助。

希望这有助于。