解析JSON字符串:属性值为null的时候不被序列化

本文介绍了如何在Java中使用JacksonObjectMapper进行序列化时控制null值的处理,通过设置JsonInclude.Include.NON_NULL策略,只有非null的属性才会被序列化到JSON中。作者给出了一个示例,展示了如何在Student对象中处理null属性并输出结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果希望属性值为null及不序列化,只序列化不为null的值。

1、测试代码

配置代码:

mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);

或者通过注解@JsonInclude(JsonInclude.Include.NON_NULL)

//常见问题2:属性为null,不序列化
@RequestMapping("/commonQuestion2")
@ResponseBody
public  void  commonQuestion1() throws Exception{
    ObjectMapper mapper = new ObjectMapper();
    Student student=new Student("1001",null);
    //属性为null不参与序列化
    mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
    //将字符串转换为对象
    String param= mapper.writeValueAsString(student);
    System.out.println("===null值不参与序列化==="+param);
}

输出结果:
a24a7f7798994bea80f1b7ec767fb5af.png

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雾林小妖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值