获取 request 中 json 数据

来源:互联网 发布:暴风影音怎么关闭网络 编辑:程序博客网 时间:2024/06/01 08:07
package com.taotao.common.utils;import java.io.IOException;import javax.servlet.http.HttpServletRequest;/** * request对象相关操作       * @author tanjie * */public class GetRequestJsonUtils {    /***     * 获取 request 中 json字符串的内容     *      * @param request     * @return : <code>byte[]</code>     * @throws IOException     */    public static String getRequestJsonString(HttpServletRequest request)            throws IOException {        String submitMehtod = request.getMethod();        // GET        if (submitMehtod.equals("GET")) {            return new String(request.getQueryString().getBytes("iso-8859-1"),"utf-8").replaceAll("%22", "\"");        // POST        } else {            return getRequestPostStr(request);        }    }    /**           * 描述:获取 post 请求的 byte[] 数组     * <pre>     * 举例:     * </pre>     * @param request     * @return     * @throws IOException           */    public static byte[] getRequestPostBytes(HttpServletRequest request)            throws IOException {        int contentLength = request.getContentLength();        if(contentLength<0){            return null;        }        byte buffer[] = new byte[contentLength];        for (int i = 0; i < contentLength;) {            int readlen = request.getInputStream().read(buffer, i,                    contentLength - i);            if (readlen == -1) {                break;            }            i += readlen;        }        return buffer;    }    /**           * 描述:获取 post 请求内容     * <pre>     * 举例:     * </pre>     * @param request     * @return     * @throws IOException           */    public static String getRequestPostStr(HttpServletRequest request)            throws IOException {        byte buffer[] = getRequestPostBytes(request);        String charEncoding = request.getCharacterEncoding();        if (charEncoding == null) {            charEncoding = "UTF-8";        }        return new String(buffer, charEncoding);    }}


0 0
原创粉丝点击