如何通过request获取并解析JSON数据?
- 内容介绍
- 文章标签
- 相关推荐
本文共计262个文字,预计阅读时间需要2分钟。
java// 第一种方式获取JSON数据/** * @param request HttpServletRequest对象 * @return 返回获取的JSON字符串 * @throws Exception 抛出异常 */public static String getRequestJsonString(HttpServletRequest request) throws Exception { String submitMethod=request.getMethod(); if(submitMethod.equals(POST)) { // 处理POST请求获取JSON数据 } else if(submitMethod.equals(GET)) { // 处理GET请求获取JSON数据 } // 返回获取的JSON数据}
/** * 获取json 数据 * @param request * @return * @throws Exception */ public static String getRequestJsonString(HttpServletRequest request) throws Exception { String submitMehtod = request.getMethod(); if (submitMehtod.equals("GET")) { return new String(request.getQueryString().getBytes("iso-8859-1"),"utf-8").replaceAll("%22", "\""); } else { return getRequestPostStr(request); } } 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); } 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; } 第二种方式
InputStream is = request.getInputStream(); //获取流 StringBuffer req= new StringBuffer(2048); int i; byte[] buffer1 = new byte[2048]; try{ i = is.read(buffer1); }catch(IOException e) { e.printStackTrace(); i = -1; } for(int j = 0; j < i; j++){ req.append((char) buffer1[j]); } String str = req.toString(); ################################################### InputStream is = request.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); String bb = br.readLine(); System.out.print("llllllllllllllllll: " + bb);
本文共计262个文字,预计阅读时间需要2分钟。
java// 第一种方式获取JSON数据/** * @param request HttpServletRequest对象 * @return 返回获取的JSON字符串 * @throws Exception 抛出异常 */public static String getRequestJsonString(HttpServletRequest request) throws Exception { String submitMethod=request.getMethod(); if(submitMethod.equals(POST)) { // 处理POST请求获取JSON数据 } else if(submitMethod.equals(GET)) { // 处理GET请求获取JSON数据 } // 返回获取的JSON数据}
/** * 获取json 数据 * @param request * @return * @throws Exception */ public static String getRequestJsonString(HttpServletRequest request) throws Exception { String submitMehtod = request.getMethod(); if (submitMehtod.equals("GET")) { return new String(request.getQueryString().getBytes("iso-8859-1"),"utf-8").replaceAll("%22", "\""); } else { return getRequestPostStr(request); } } 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); } 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; } 第二种方式
InputStream is = request.getInputStream(); //获取流 StringBuffer req= new StringBuffer(2048); int i; byte[] buffer1 = new byte[2048]; try{ i = is.read(buffer1); }catch(IOException e) { e.printStackTrace(); i = -1; } for(int j = 0; j < i; j++){ req.append((char) buffer1[j]); } String str = req.toString(); ################################################### InputStream is = request.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); String bb = br.readLine(); System.out.print("llllllllllllllllll: " + bb);

