后台获取POST方式提交的JSON格式数据

1、直接使用request.getParamater()的方法获取(这种取参方式对于POST和GET的提交方式均适用);

2、通过请求体的IO流获取参数(这种方式只能用于POST,因为GET方式没有请求体);

String s ="";
InputStream in = null;
BufferedInputStream bin = null;
try{
    in = request.getInputStream();
    bin = new BufferedInputStream(in);
    int len = 0;
    byte[] b = new byte[1024];
    while( (len = bin.read(b)) != -1){
        s += new String(b,0,len);
    }
} catch (IOException e) {
    e.printStackTrace();
}finally{
    try{
        bin.close();
    }catch (IOException e) {
        e.printStackTrace();
    }
     try{
        in.close();
    }catch (IOException e) {
        e.printStackTrace();
    }
}
//最后根据取到的字符串适用JSONUtil工具将其转换成相应的对象(根据JSON工具类进行调整)
类名称 对象名 = JSONUtil.jsonToobj(s , "类名称.clsss");

 流的另一种处理方式:

InputStream in = req.getInputStream();
BufferedReader bin = new BufferedReader(new InputStreamReader(in, "utf-8"));
String line = null;
StringBuffer content = new StringBuffer();
while ((line = bin.readLine()) != null) {
         content.append(line);
    }

 

posted @ 2019-02-27 10:38  风缱云流  阅读(4105)  评论(0编辑  收藏  举报