java对象json序列化时忽略值为null的属性环境:
jdk: openjdk11
操作系统: windows 10教育版1903
⽬的:
如题,当⼀个对象⾥有些属性值为null 的不想参与json序列化时,可以添加如下注解
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonIgnore;
//这个是类注解,表⽰该类实例化的对象⾥,值为null的字段不参与序列化
@JsonInclude(JsonInclude.Include.NON_NULL)
@Setter
@Getter public class AbilityEntity {
private Long id;
private String name;
//JsonIgnore注解表⽰每次json处理都忽略createTime属性
@JsonIgnore
private Long createTime;//unix时间戳,ms
}
以下是单元测试(DemoApplicationTests.java):
ample.demo;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Getter;
import lombok.Setter;
import org.junit.jupiter.api.Test;
import org.st.context.SpringBootTest;
@SpringBootTest
class DemoApplicationTests {
@Test
void contextLoads() {
AbilityEntity ability = new AbilityEntity();
ability.setId(1L);
System.out.JSON(ability));
ability.setName("");//只要不是null, 都不会被忽略
System.out.JSON(ability));
}
@JsonInclude(JsonInclude.Include.NON_NULL)
@Setterfastjson忽略属性
@Getter
public class AbilityEntity{
private Long id;
private String name;
}
}
console
{"id":1}
{"name":"","id":1}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论