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 @ 2023-02-12 14:37  在博客做笔记的路人甲  阅读(142)  评论(0编辑  收藏  举报