zoukankan      html  css  js  c++  java
  • 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();
    }
    

    作者:小策一喋
    邮箱:xvpindex#qq.com
    出处:http://www.cnblogs.com/xvpindex/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如果觉得本文对您有益,欢迎点赞、欢迎探讨。本博客来源于互联网的资源,若侵犯到您的权利,请联系博主予以删除。

  • 相关阅读:
    安卓系统隐藏滚动条
    jquery 失去焦点时输入框为空时自动填写默认内容
    移动端左右滑动代码
    [转]C#使用FFmpeg 将视频格式转换成MP4示例
    [转]Windows 使用ffmpeg将MP4视频转换为m3u8格式
    [转]搭建flutter开发环境
    [转]ios webview下纯JS实现长按
    [转]SQLServer查询数据库各种历史记录
    [转]Java多线程学习(总结很详细!!!)
    [转]安卓加固之so文件加固
  • 原文地址:https://www.cnblogs.com/xvpindex/p/7199778.html
Copyright © 2011-2022 走看看