java web 服务器端处理json格式参数

前面我们说了传递参数的两种访书,第一是key-value形式,第二是json格式,
对于第一种我们在服务器端直接使用 request.getParameter("key");就能获取key对应的value。但是对于传递的json就不能使用这样的代码了,
利用json传递的参数存在request的body里,我们需要从里面输入流里面读取,下面是代码:

 1 /**
 2 * 获取请求的 body
 3 * @param req
 4 * @return
 5 * @throws IOException
 6 */
 7 public static String getRequestBody(HttpServletRequest req) throws IOException {
 8   BufferedReader reader = req.getReader();
 9   String input = null;
10   StringBuffer requestBody = new StringBuffer();
11   while((input = reader.readLine()) != null) {
12     requestBody.append(input);
13   }
14   return requestBody.toString();
15 }



StringBuffer requestBody = new StringBuffer();这句要注意一下,有的会使用String来定义requestBody,这样会有一个坏处,
每次reader.readLine()不为空的时候,requestBody += input;就会新创建一个String对象,而StringBuffer是可以追加的

原文地址:https://www.cnblogs.com/zfy0098/p/5221123.html