HttpServletRequest 接收并解析获取JSON数据

时间:2025-02-17 11:00:55
  • public class GetRequestJsonUtils {
  • public static JSONObject getRequestJsonObject(HttpServletRequest request) throws IOException {
  • String json = getRequestJsonString(request);
  • return (json);
  • }
  • /***
  • * 获取 request 中 json 字符串的内容
  • *
  • * @param request
  • * @return : <code>byte[]</code>
  • * @throws IOException
  • */
  • public static String getRequestJsonString(HttpServletRequest request)
  • throws IOException {
  • String submitMehtod = ();
  • // GET
  • if (("GET")) {
  • return new String(().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 = ();
  • if(contentLength<0){
  • return null;
  • }
  • byte buffer[] = new byte[contentLength];
  • for (int i = 0; i < contentLength;) {
  • int readlen = ().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 = ();
  • if (charEncoding == null) {
  • charEncoding = "UTF-8";
  • }
  • return new String(buffer, charEncoding);
  • }
  • }