Java自定义方法转换前端提交的json字符串为JsonObject对象

前端提交json字符串格式数据,Java后端通过自定义方法接收json字符串数据并转换为JsonObject对象,代码如下放到RequestData.Java类中:

public static JSONObject getRequestJsonObj(HttpServletRequest request) {
    InputStreamReader reader = null;
    InputStream in = null;
    String requsetSb = "";
    StringBuffer sb = new StringBuffer();
    try {
        in = request.getInputStream();
        reader = new InputStreamReader(in, "UTF-8");
        char[] buffer = new char[1024];
        int len;
        while ((len = reader.read(buffer)) > 0) {
            sb.append(buffer, 0, len);
        }
        //System.out.println("请求信息:" + sb.toString());
        requsetSb = sb.toString();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (reader != null) {
                reader.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        try {
            if (in != null) {
                in.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    JSONObject jsobj = JSONObject.fromObject(requsetSb.toString());
    return jsobj;
}

public static Object getRequestJsonObj(HttpServletRequest request, Class clazz) {
    JSONObject jsonObject = getRequestJsonObj(request);
    Object obj = JSONObject.toBean(jsonObject, clazz);
    return obj;
}

控制器中调用:

@RequestMapping("/test")
public void test(HttpServletRequest request) {
    JSONObject obj = RequestData.getRequestJsonObj(request);
    String userNameId = obj.getString("userNameId");
}

如果有实体Bean对象,可以通过以下方法接收:

@RequestMapping("/test")
public void test(HttpServletRequest request) {
    User user = (User) RequestData.getRequestJsonObj(request, User.class);
    String userNameId = user.getUserNameId();
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,868评论 18 139
  • tags:java,json,javascript categories:笔记 date: 2016-11-16 ...
    行径行阅读 971评论 0 0
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,754评论 18 399
  • 壹 她被囚禁在这庙中十年,他说他不守妇道,心如蛇蝎,连手无缚鸡之力的弱女子也残害。 她在他面前...
    歪氏阅读 586评论 0 1
  • 我用汗水挥洒泪水,而你却用笑泪忽视我的心泪! 三年之时,我一次又一次蜕变的背后总有你那模糊的身影。 每一次的笑容总...
    异域残梦阅读 304评论 0 0