1.实体上
@JsonInclude(Include.NON_NULL)
- 将该标记放在属性上,如果该属性为NULL则不参与序列化
- 如果放在类上边,那对这个类的全部属性起作用
值参考:
① Include.Include.ALWAYS 默认
② Include.NON_DEFAULT 属性为默认值不序列化
③ Include.NON_EMPTY 属性为 空(“”) 或者为 NULL 都不序列化
④ Include.NON_NULL 属性为NULL 不序列化
2.代码上
ObjectMapper mapper = new ObjectMapper();
mapper.setSerializationInclusion(Include.NON_NULL);
- 通过该方法对mapper对象进行设置,所有序列化的对象都将按改规则进行系列化
值参考:
① Include.Include.ALWAYS 默认
② Include.NON_DEFAULT 属性为默认值不序列化
③ Include.NON_EMPTY 属性为 空(“”) 或者为 NULL 都不序列化
④ Include.NON_NULL 属性为NULL 不序列化
User user = new User(1,"",null);
String outJson = mapper.writeValueAsString(user);
System.out.println(outJson);
jackson 实体转json 属性直接不参加序列化
@JsonIgnore
private int id;