java request json_request 请求 转 json

packagecom.Utils;importjava.io.IOException;importjava.net.URLDecoder;importjava.util.HashMap;importjava.util.Map;importjavax.servlet.http.HttpServletRequest;importcom.alibaba.fastjson.JSONArray;importcom.alibaba.fastjson.JSONObject;public classrequestUtil {/*** 获取 request 中 json 字符串的内容

*

*@paramrequest

*@return: byte[]

*@throwsIOException*/

public staticString getRequestJsonString(HttpServletRequest request)throwsIOException {

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);returngetRequestGetStr(deStr);//POST

} else{returngetRequestPostStr(request);

}

}/*** 获取Get请求的 内容

*@paramstr

*@return

*/

public staticString 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);returnsts;

}/*** 获取POST请求的 内容

*@paramrequest

*@return*@throwsIOException*/

public staticString getRequestPostStr(HttpServletRequest request)throwsIOException {byte buffer[] =getRequestPostBytes(request);

String charEncoding=request.getCharacterEncoding();if (charEncoding == null) {

charEncoding= "UTF-8";

}return newString(buffer, charEncoding);

}/*** 获取POST请求的 byte 数组

*@paramrequest

*@return*@throwsIOException*/

public static byte[] getRequestPostBytes(HttpServletRequest request)throwsIOException {int contentLength =request.getContentLength();if(contentLength<0){return null;

}byte buffer[] = new byte[contentLength];for (int i = 0; i

contentLength-i);if (readlen == -1) {break;

}

i+=readlen;

}returnbuffer;

}/*** JSONArray 根据name去重复

*@paramarray*/

public staticJSONArray delRepeatIndexid(JSONArray array) {

JSONArray arrayTemp= newJSONArray();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= newJSONObject();

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++;

}returnarrayTemp;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值