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


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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值