如何获取前端传过来的json(支付宝小程序 使用的my.request发送的请求)

Just for recording what I learnt in overtime.

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	// TODO Auto-generated method stub
	//设置响应头编码
response.setHeader("Content-Type", "text/html;charset=utf-8");
	  //设置响应体编码
response.setCharacterEncoding("UTF-8");
	  //设置接收字符编码
request.setCharacterEncoding("UTF-8");

System.out.println("servletDemo3");


JSONObject jsonObject = JSONObject.fromObject(getRequestPayload(request));
System.out.println(jsonObject);
String log=jsonObject.getString("log");
System.out.println(log);

JSONObject target1=JSONObject.fromObject(log);
String production=target1.getString("production");
System.out.println(production);

String json = "{'response':{'data':[{'address':'北京','province':'海淀','district':'西三旗','city':'地铁'}]},'status':'ok'}";


response.setContentType("text/html; charset=utf-8");
System.out.println("in ");
ArrayList List = new ArrayList();

List.add(json);
PrintWriter out =response.getWriter();
		out.print(List);//返回json数据给前台
		
	}
	private String getRequestPayload(HttpServletRequest req) {
		ServletInputStream is;
		try {
			is = req.getInputStream();
			int nRead = 1;
			int nTotalRead = 0;
			byte[] bytes = new byte[10240];
			while (nRead > 0) {
				nRead = is.read(bytes, nTotalRead, bytes.length - nTotalRead);
				if (nRead > 0)
					nTotalRead = nTotalRead + nRead;
			}
			String str = new String(bytes, 0, nTotalRead, "utf-8");
			return str;
		} catch (IOException e) {
			e.printStackTrace();
			return "";
		}
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值