【问题标题】:Type of data changed in sending data by VolleyVolley 发送数据时改变的数据类型
【发布时间】:2018-11-28 20:43:28
【问题描述】:

我使用下面的代码将 Volley 中的数据发送到 PHP 服务器(我使用 slim 框架):

StringRequest strRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
    @Override
    public void onResponse(String response) {
        try {
            JSONObject jObjResult = new JSONObject(response);
            if (jObjResult.getBoolean("success")) {
                flag = true;
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }
}, new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {
        flag = false;
    }
}) {
    @Override
    protected Map<String, String> getParams() {
        String json = jObj.toString();
        Map<String, String> params = new HashMap<>();
        params.put("values", jObj.toString());
        return params;
    }

    @Override
    public Map getHeaders() throws AuthFailureError {
        super.getHeaders();
        HashMap headers = new HashMap();
        headers.put("Content-Type", "application/json");
        return headers;
    }
};
getInstance(context).addToRequestQueue(strRequest, "VolleyRequest");

数据以{"gcms":[],"gcm":[],"gc":[]} 发送,但在服务器中以values=%7B%22gcms%22%3A%5B%5D%2C%22gcm%22%3A%5B%5D%2C%22gc%22%3A%5B%5D%7D&amp; 接收。 我测试了一些工作,例如在 android 中为请求设置 Header 或尝试在服务器中的 php 中编码数据。但问题没有解决。我该如何解决这个问题?

【问题讨论】:

    标签: android json android-volley slim


    【解决方案1】:

    我只用

    @Override
    protected Map<String, String> getParams() {
        Map<String, String> params = new HashMap<>();
    
        String json = jObj.toString();
        params.put("values", json);
    
        return params;
    }
    

    而不是

    @Override
    protected Map<String, String> getParams() {
        String json = jObj.toString();
        Map<String, String> params = new HashMap<>();
        params.put("values", jObj.toString());
        return params;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-18
      • 2021-11-05
      相关资源
      最近更新 更多