您的位置:首页 > 理论基础 > 计算机网络

Android Http post 请求传递json 内包含数组 给服务器的实现方式.

2018-02-28 23:22 786 查看
最近项目中需要传递一个带数组的json数据给后台需求:格式如下:{"orderType": "TX","truckNo": "YCSCR38913","pointNo": "6","cntNum": 1,"transactList": [{"orderNo": "201802070014","eirId": "5516985855147","cntNo": "23525635555","shipSeal": "","customSeal": ""}]}以前我的post请求方式,都是把参数拼接到url后面,如: http://www.szgber.cn/api/m1/sdxg/yybd/common/dictList?group=truckNoLevelNameListAll那上述这种格式,是否可以采取 以前的方式,进行操作呢?  测试结果是不行的:   以下是针对上面jon正确的请求方式:String orderNo = "";String eirId = "";String busiType = "";String cntNo = "";
RequestParams params = new RequestParams();addRequestHeader(params);
JSONObject object = new JSONObject();try {object.put("orderType", orderType);//上一页传递过来的数据object.put("truckNo", checkedKey);//本页提取的数据object.put("pointNo", gateNoStr);//本页提取的数据object.put("cntNum", size + "");
JSONArray jsonArray = new JSONArray();for (int i = 0; i < checkList.size(); i++) {BDSuitcaseBean.DataBean.ListBean listBean = checkList.get(i);orderNo = listBean.getOrderNo();//1.订单号eirId = listBean.getEirId();//2.订单号busiType = listBean.getBusiType();//3.箱子类型cntNo = listBean.getCntNo();//箱号//8.铅封号,根据箱子类型来判断 提空返重,提重返空,收空,才有铅封号if (busiType.equals(Constant.TZBD) || busiType.equals(Constant.TZ_FKBD) || busiType.equals(Constant.SKXBD) || busiType.equals(Constant.TkBD)) {//提重,提重返空,提空,收空shipSeal = "";//不用传铅封号
} else if (busiType.equals(Constant.TK_FZBD) || busiType.equals(Constant.TZ_FZBD) || busiType.equals(Constant.SZXBD)) {//提空返重,提重返重,收重Y
shipSeal = "Y";
} else {Logger.e(TAG, "未知箱子类型-------------" + busiType);}JSONObject object1 = new JSONObject();object1.put("orderNo", orderNo);object1.put("eirId", eirId);object1.put("cntNo", cntNo);object1.put("shipSeal", shipSeal);object1.put("customSeal", customSeal);jsonArray.put(object1);}
// object.put("transactList", "");object.accumulate("transactList", jsonArray);params.setAsJsonContent(true);//支持jsonparams.setBodyContent(object.toString());
} catch (JSONException e) {Logger.e(TAG, "e--------" + e);e.printStackTrace();
}
BaseApplication.getInstance().httpRequest.xPostjson(mContext, params, Constant.BASE_HTTP + ContantUrl.getAppointCarSumit, new RequestResultJsonCallBack() {@Overridepublic void onSucess(String result) {hideProgress();Logger.e(TAG, "指派车辆---result---" + result);NewBaseBean info = Constant.getPerson(result, NewBaseBean.class);if (info.getCode() == Constant.RETURN_SUCCESS__STATE_CODE) {finish();} else {ToastUtil.show(mContext, info.getMessage());}}
@Overridepublic void onFailure(int errorCode, String errorMsg) {hideProgress();Logger.e(TAG, "指派车辆---result---" + errorMsg);}});按照上面的传递方式即可以把一个json 字符串传递给服务端,他们解析出来的也是一个json数据。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐