null值问题

这篇博客探讨了在Java中处理实体类null值的方法,通过@JsonInclude注解过滤null值,确保序列化结果的整洁。同时提到了在转换对象为JSON字符串时如何保留或过滤null值的两种解决方案,并建议在进行null值判断时优先检查null条件。

最近遇到几个null值问题,应该还有很多,暂且记录几个

一、实体类null值不需要返回

解决方法:在实体类上加上注解 @JsonInclude(JsonInclude.Include.NON_NULL)
@JsonInclude value值详解:
1 ALWAYS 默认级别,所有的pojo的属性都会被序列化
2 NON_NULL 只有非null的属性才会被序列化
3 NON_ABSENT java中有些复杂的数据结构,比如AtomicReference或是Optional,如果某个属性是这个类型,虽然此属性不为null,但是其包装的内容是null的,此注解的作用是,只有此属性不为null,且其包装的内容是有值的才会被序列化
4 NON_EMPTY 不为空,有些属性如果是Collection或是Map或是Timestamp等,比如某个属性是Timestamp且其值是0,那么可以认为这个属性是empty
5 NON_DEFAULT 只有此属性不为默认值的时候,才序列化
6 CUSTOM 自定义,filter定义的过滤器需要重写equals方法,如果返回false,那么进行序列化,如果为true,就不序列化
7 USE_DEFAULTS 使用默认
引用链接: 牧羊人刘俏

二、对象转json字符串时null值被过滤

解决方法有两种
1.如果逻辑上允许,可以把null修改为“”;
2.JSONObject.toJSONString(XXXBean, SerializerFeature.WriteMapNullValue);

三、null值判断时

最好把null写前面,如:null!=XXX


如果没有时间限制,一切都失去了意义!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值