request中获取post的json对象数据content-type=“text/plain”

其实采用http://www.cnblogs.com/SimonHu1993/p/7295750.html中的方法一都能获取到,
就是通过获取request中的流数据,拿到json数据,理论上应该适用各种content-type的请求数据。

/**
	 *获取 request 中用POST方式"Content-type"是
	 * "text/plain"发送的 json数据 
	 * @author: Simon
	 * @date: 2017年8月6日 下午7:44:09
	 * @param request
	 * @return
	 * @throws IOException
	 */
	public static String getPostByTextPlain(HttpServletRequest request) throws IOException{

		BufferedReader reader = request.getReader();
        char[] buf = new char[512];
        int len = 0;
        StringBuffer contentBuffer = new StringBuffer();
        while ((len = reader.read(buf)) != -1) {
            contentBuffer.append(buf, 0, len);
        }
        String content= contentBuffer.toString();
        return content;
	}

  

//在controll中进行调用;
String content = HttpJsonUtils.getPostByTextPlain(request);
//根据json数据中对象的key值及其类型取出相应的参数值
JSONObject jsObject = JSONObject.fromObject(content);
			try {
				usermob = jsObject.getString("usermob");
				cpid = jsObject.getString("cpid");
				spid = jsObject.getString("spid");
				type = jsObject.getString("type");
				ordertime = jsObject.getString("ordertime");
				canceltime = jsObject.getString("canceltime");
				endtime = jsObject.getString("endtime");
				channelcode = jsObject.getString("channelcode");
				province = jsObject.getString("province");
				area = jsObject.getString("area");
				ordertype = jsObject.getString("ordertype");
				videoid = jsObject.getString("videoid");
			} catch (Exception e) {
				LOGGER.info("发生错误*****" + e.getMessage());
			}    

  

posted @ 2017-08-06 20:33  748573200000  阅读(2707)  评论(0编辑  收藏  举报