在Volley中的POST请求中传递原始JSONObject

时间:2017-02-27 08:19:14

标签: android android-volley

我正在使用Volley android向我的webservice发送POST请求。以下是我想在Body中发布的格式。

//      {
//          "cust_id": "3",
//          "amount": "150",
//          "items": [
//               {"itemid":"2",
//                "qty":"4"},
//               {"itemid":"5",
//                "qty":"3"},
//              {"itemid":"1",
//                "qty":"5"}
//          ]
//      }

项(JSONArray)列表是可变的。我在下面使用传递参数

JSONArray jsonArray = new JSONArray();


    for (MenuItem m:orderedList) {
        JSONObject obj1 = new JSONObject();
        obj1.put("itemid", m.getImgid());
        obj1.put("qty", m.getQty());
        jsonArray.put(obj1);
    }
    JSONObject obj2 = new JSONObject();
    obj2.put("cust_id",cust_id);
    obj2.put("amount",totamt);
    obj2.put("items",jsonArray);
    Log.d("Volley request order",obj2.toString());
    JsonObjectRequest req = new JsonObjectRequest(Config.ORDER_URL, obj2, new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {
            try {
                VolleyLog.v("Response is:%n %s", response.toString(4));
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            VolleyLog.e("Error is: ", error.getMessage());
        }
    });

    // Adding request to request queue
    LifeCycle.getInstance().addToRequestQueue(req, tag_json_obj);

我的代码正在运行,我的问题如何像在OkHTTp Interceptor中一样检查完整的请求正文和标题。

1 个答案:

答案 0 :(得分:0)

你让Json生病了!不要使用String cut和append来制作Json。 无论如何,如果你想知道你做了什么,你可以使用下面的代码

{{1}}