学而时习之,不亦说乎。|

Gson、Jackson_Java对象转为json对象

在对客户端进行响应的时候,要把一个JavaBean对象发送给浏览器,最好是转为json对象。

json对象:

  {

  “key”:value,

  "key":value

  }

 


一、gson组件

(一)、导入jar包

(二)、使用步骤

例子:

  把一个Java对象转换成json对象,并且以json对象的格式响应给客户端

复制代码
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        User user = new User(1,"lurenjia",18);
        //设置响应格式
        resp.setContentType("application/json;charset=utf-8");
        //获取到输出流
        PrintWriter writer=resp.getWriter();
        //写入一个json对象
        writer.write(new Gson().toJson(user));
        //关闭输出流
        writer.close();
    }
复制代码

  客服端取出数据

            $.post(
                "login",
                {},
                function (data) {
                    alert("响应成功"+data.id+data.name+data.age);
                }
            );

二、Jackson组件

(一)、导入jar包

 

 (二)、使用步骤

例子:

  把一个集合对象转换为json集合,并且以json对象的格式响应给客户端。

复制代码
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        User user = new User(1,"lurenjia",18);
        User user1 = new User(1,"xxc",22);
        ArrayList<User> list = new ArrayList<>();
        list.add(user);
        list.add(user1);
        //设置响应格式
        resp.setContentType("application/json;charset=utf-8");

        //获取到输出流
        PrintWriter writer=resp.getWriter();
        //写入一个json对象
        writer.write(new ObjectMapper().writeValueAsString(list));
        //关闭输出流
        writer.close();
    }
复制代码

  客服端取出数据

            $.post(
                "login",
                {"name":"张三","age":18},
                function (data) {
                    alert("响应成功"+data[1].id+data[1].name+data[1].age);
                }
            );

若不设置响应格式为json,则在客户端可以使用eval来获取数据:

            $.post(
                "login",
                {"name":"张三","age":18},
                function (data) {
                    eval("var obj = " +date);
                    alert("响应成功"+obj.id+obj.name+obj.age);
                }
            );

 

posted @   在博客做笔记的路人甲  阅读(156)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起