jackson 實體轉json屬性爲NULL或者爲空不參加序列化
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;