http post方式获取json参数
来源:互联网 发布:微信网络设置在哪里 编辑:程序博客网 时间:2024/05/22 14:08
最近开发一个项目需要后台(C++)请求一个url传递json参数,我这边接收json参数,处理后返回json数据。使用http post传送,最初在request里死活找不到json参数,后来查找资料发现json数据在输入流中,需反序列话才能得到。public void posDate() throws IOException { JSONObject jsonObj = new JSONObject(); HttpServletRequest request = ServletActionContext.getRequest(); String param = getPostParameter(request); System.out.println(param); JSONArray jsonArray3 = JSONArray.fromObject("["+param+"]" ); JSONObject jsonObjSN = jsonArray3.getJSONObject(0); String sn = (String) jsonObjSN.get("sn"); if(StringUtil.isNotNullStr(sn)){ Map<String, String> params = new HashMap<String, String>(); params.put("sn", sn); List<TPos> posList = posService.findAll(params); if(null != posList && posList.size() > 0 ){ TPos pos = posList.get(0); try { jsonObj.put("sn", pos.getFsn()); jsonObj.put("merchat",pos.getMerchant().getFmerchantName() ); jsonObj.put("CUS_ID",pos.getMerchant().getFmerchatNO()); jsonObj.put("TERM_ID", pos.getFposNO()); } catch (JSONException e) { e.printStackTrace(); } } else{ try { jsonObj.put("sn", ""); jsonObj.put("merchat","未注册商户" ); jsonObj.put("CUS_ID","999999999999999"); jsonObj.put("TERM_ID", "99999999"); } catch (JSONException e) { e.printStackTrace(); } } }else{ try { jsonObj.put("sn", ""); jsonObj.put("merchat","未注册商户" ); jsonObj.put("CUS_ID","999999999999999"); jsonObj.put("TERM_ID", "99999999"); } catch (JSONException e) { e.printStackTrace(); } } HttpServletResponse response = ServletActionContext.getResponse(); response.setCharacterEncoding("UTF-8"); PrintWriter out = response.getWriter(); out.print(jsonObj); out.close(); } /** * 根据request获取Post参数 * @param request * @return * @throws IOException */ private static String getPostParameter(HttpServletRequest request) throws IOException{ BufferedInputStream buf = null; int iContentLen = request.getContentLength(); byte sContent[] = new byte[iContentLen]; String sContent2 = null; try { buf = new BufferedInputStream(request.getInputStream()); buf.read(sContent, 0, sContent.length); sContent2 = new String(sContent,0,iContentLen,"UTF-8"); } catch (IOException e) { throw new IOException("Parse data error!",e); } finally { try { buf.close(); } catch (IOException e) { } } return sContent2; }
0 0
- http post方式获取json参数
- java 通过http post方式传参参数json 方式
- http方式获取参数
- 如何调用http接口获取json数据及GET/POST方式调用http接口
- python http请求post参数,json解析
- http post 请求参数格式是json
- Http post方式发送json数据
- python使用post方式发送json参数
- httpclient4 post 以json方式传参数
- Post方式发送http请求参数
- Http post方式传递参数的格式
- go语言 获取post方式json
- flask post JSON 数据获取方式总结
- 【http】get/post 获取请求参数
- http get或者post请求获取参数
- Http 以post方式获取数据
- POST获取参数。【POST】
- Java http get/post 传递json参数问题
- iOS开发之UIScrollView
- 关于图中节点间的概率求解问题-1
- 消息传递机制——block
- 约瑟夫问题。
- 组合模式(Composite)
- http post方式获取json参数
- ubuntu 无法调节屏幕亮度问题
- html练习
- 动态规划中的矩阵链乘法的介绍与理解(包含c源代码)
- Win7安vc2008编译报LINK : fatal error LNK1000: Internal error during IncrBuildImage .
- 数据库读写的一些心得
- 美团一二三面经历
- poj-1693
- Effective STL: 尽量使用区间成员函数代替它们的单元素兄弟