下面是用volley进行的post请求 HashMap<String, Object> params = new HashMap<>(); //门店id params.put("id",storeId); //商场id params.put("mallId",market_id); //品牌id params.put("brandId",brand_id); JSONObject json = new JSONObject(params); 然后调用 VolleyRequest.jsonRequest(this, Request.Method.POST, new Constant(mContext).Store_Save, new Constant(mContext).HGJ_TAG, json, new VolleyInterface(ChangeBaseInfoActivity.this, VolleyInterface.mListener, VolleyInterface.mErrorListener) {} 这样会请求失败,找原因发现如下: JSONObject json = new JSONObject(params); 是它将参数封装为JSONObject的结果有问题如下: {"id":10730,"scale":"MIDDLE_SCALE","phone":"","floorIds":"[I@42ddc4e8","categoryIds":"[I@42ddc8f0","mallId":5,"houseNumber":"","brandId":9017} 而我们要的JSONObject的样式应该是下面这样: {"id":10737,"scale":"MIDDLE_SCALE","phone":"","floorIds":[5,6,7,2,3,4,8],"categoryIds":[9,11],"mallId":3,"houseNumber":"","brandId":9000} 最后找到解决方法,我们用的Jackon解析框架 String s = JsonUtils.obj2Json(params); JSONObject json = null; try { json = new JSONObject(s); } catch (JSONException e) { e.printStackTrace(); } String s = JsonUtils.obj2Json(params); JSONObject json = null; try { json = new JSONObject(s); Log.i("--json---",json.toString()); } catch (JSONException e) { e.printStackTrace(); }
解决三星手机post请求时参数包括集合,封装成JSONObject,结果不是数组而是数组的地址问题
最新推荐文章于 2022-12-25 09:47:30 发布
