package com.Utils; import java.io.IOException; import java.net.URLDecoder; import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpServletRequest; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; public class requestUtil { /** * 获取 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")) { String str = new String(request.getQueryString().getBytes("iso-8859-1"),"utf-8").replaceAll("%22", """); String deStr = URLDecoder.decode(str); return getRequestGetStr(deStr); // POST } else { return getRequestPostStr(request); } } /** * 获取Get请求的 内容 * @param str * @return */ public static String getRequestGetStr(String str){ Map map = new HashMap<>(); String strs = str.replaceAll("&", ","); String st = strs.replaceAll("=", ":"); System.out.println(st); String[] param = st.split(","); for (int i = 0; i < param.length; i++) { int index = param[i].indexOf(':'); map.put(param[i].substring(0,index), param[i].substring((index + 1))); } String sts = JSONObject.toJSONString(map); return sts; } /** * 获取POST请求的 内容 * @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); } /** * 获取POST请求的 byte 数组 * @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; } /** * JSONArray 根据name去重复 * @param array */ public static JSONArray delRepeatIndexid(JSONArray array) { JSONArray arrayTemp = new JSONArray(); int num = 0; for(int i = 0;i < array.size();i++){ if(num==0){ arrayTemp.add(array.get(i)); }else{ int numJ = 0; for(int j = 0;j < arrayTemp.size(); j++){ JSONObject newJsonObjectI = (JSONObject)array.get(i); JSONObject newJsonObjectJ = (JSONObject)arrayTemp.get(j); String index_idI = newJsonObjectI.get("code").toString(); String valueI = newJsonObjectI.get("name").toString(); String index_idJ = newJsonObjectJ.get("code").toString(); if(index_idI.equals(index_idJ)){ arrayTemp.remove(j); JSONObject newObject = new JSONObject(); newObject.put("code", index_idI); newObject.put("name", valueI); arrayTemp.add(newObject); break; } numJ++; } if(numJ-1 == arrayTemp.size()-1){ arrayTemp.add(array.get(i)); } } num++; } return arrayTemp; } }