使用JackSon的实现对象与json格式的转换

通过创建 ObjectMapper 对象操作
通过 writeValueAsString() 方法将对象或集合转换成 json 格式
通过 readValue() 方法将 json 格式转换成对象或集合
通过创建 ObjectMapper 对象操作
//创建一个ObjectMapper对象,用于实现对象,集合与json格式的转换
ObjectMapper mapper = new ObjectMapper();
 //实现对象与json格式的转换
    @Test
    public void testUserJson() {
        try {
            User user = new User(1, "陈陈陈", "陈陈陈", 20, new Date(), 3);
//                              {"id":1,"name":"陈陈陈","password":"陈陈陈","age":20,"birthday":1680525218132,"rid":3}
            //将对象转换成json格式
            String userJson = mapper.writeValueAsString(user);
            System.out.println("userJson:" + userJson);
            //将json格式的字符串转换成对象
            User user2 = mapper.readValue(userJson, User.class);
            System.out.println("user2:" + user2);

        } catch (JsonProcessingException e) {
            e.printStackTrace();
        }
    }
//实现集合与json格式的转换
    @Test
    public void testList() {
        try {
            List<User> list = new ArrayList<>();
            list.add(new User(1, "陈陈陈1", "陈陈陈1", 201, new Date(), 3));
            list.add(new User(2, "陈陈陈2", "陈陈陈2", 202, new Date(), 2));
            list.add(new User(3, "陈陈陈3", "陈陈陈3", 230, new Date(), 1));
            list.add(new User(4, "陈陈陈4", "陈陈陈4", 240, new Date(), 3));
        /*      [
                {"id":1,"name":"陈陈陈1","password":"陈陈陈1","age":201,"birthday":1680421124972,"rid":3},
                {"id":2,"name":"陈陈陈2","password":"陈陈陈2","age":202,"birthday":1680421124972,"rid":2},
                {"id":3,"name":"陈陈陈3","password":"陈陈陈3","age":230,"birthday":1680421124972,"rid":1},
                {"id":4,"name":"陈陈陈4","password":"陈陈陈4","age":240,"birthday":1680421124972,"rid":3}
              ]
      */
            //将集合转换成json格式
            String listJson = mapper.writeValueAsString(list);
            System.out.println("listJson:" + listJson);
            //获取JavaType类型对象
            JavaType type=mapper.getTypeFactory().constructParametricType(List.class,User.class);
            //将json格式的字符串转换成集合
            List<User>list2=mapper.readValue(listJson,type);
            for (User uesr:list){
                System.out.println("user:"+uesr);
            }


        } catch (JsonProcessingException e) {
            e.printStackTrace();
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值