使用Jackson库将JSON字符串和Java对象相互转换

 

    @Test
    public void TestJackson() throws JsonProcessingException {
        ObjectMapper mapper = new ObjectMapper();
        CategoryPO categoryPO = new CategoryPO();
        categoryPO.setId(1L).setParentId(1L).setDepth(1L).setName("绿茶");
        String jsonStr = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(categoryPO);
        System.out.println(jsonStr);
        System.out.println("------------------------");
        CategoryPO categoryPO1 = mapper.readValue(jsonStr,CategoryPO.class);
        System.out.println(categoryPO1);
    }

 

这个测试方法是一个使用Jackson库进行JSON序列化和反序列化的测试。具体步骤如下:

  1. 创建一个ObjectMapper对象,用于处理JSON数据。ObjectMapper是Jackson库中的核心类,它提供了将Java对象转换为JSON字符串以及将JSON字符串转换为Java对象的功能。

  2. 创建一个CategoryPO对象,并设置其属性值(需要自己新建java类,如果需要在达到上述代码的链式set,需要在上面加上@Accessors(chain = true))。CategoryPO是一个自定义的Java类,可能表示一个分类信息。在这个例子中,我们设置了它的idparentIddepthname属性。

  3. 使用ObjectMapperwriterWithDefaultPrettyPrinter()方法将CategoryPO对象转换为格式化的JSON字符串。这个方法返回一个JsonGenerator对象,我们可以使用它来生成JSON字符串。通过调用writeValueAsString()方法,我们将CategoryPO对象转换为JSON字符串,并将其赋值给变量jsonStr

  4. 打印转换后的JSON字符串。这可以帮助我们查看生成的JSON字符串是否符合预期。

  5. 打印分隔符。在输出结果时,可以使用分隔符来区分不同的部分,使输出更加清晰易读。

  6. 使用ObjectMapperreadValue()方法将JSON字符串反序列化为CategoryPO对象。这个方法接受两个参数:一个是JSON字符串,另一个是要反序列化的目标类的Class对象。在这个例子中,我们将jsonStr作为第一个参数,CategoryPO.class作为第二个参数。执行这个方法后,会返回一个新的CategoryPO对象,并将其赋值给变量categoryPO1

  7. 打印原始的CategoryPO对象。这可以帮助我们验证反序列化操作是否正确地还原了原始对象的属性值。

  8. 打印反序列化后的CategoryPO对象。这可以帮助我们验证反序列化操作是否正确地还原了原始对象的属性值。

总之,这个测试方法目的是使用Jackson库能正确地将Java对象序列化为JSON字符串,将JSON字符串反序列化为Java对象。

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值