最近寫項目,用到Jackson的一些註解,總結一下,幫助本身記憶。java
1.@JsonIgnore 和 @JsonIgnorePropertiesjson
兩個註解能夠對照比較後選擇使用:spa
@JsonIgnoreclass
在json序列化時將java bean中的一些屬性忽略掉,序列化和反序列化都受影響。序列化
private String name;
private Integer age;
@JsonIgnore
private String color;方法
運行方法在控制檯打印總結
System.out.println(name+""+age+""+color+"");數據
將只顯示name和age,color受註解的影響不進行顯示。項目
使用方法:通常標記在屬性或者方法上,返回的json數據即不包含該屬性。word
@JsonIgnoreProperties
和 @JsonIgnore 的做用相同,都是告訴 Jackson 該忽略哪些屬性,
不一樣之處是 @JsonIgnoreProperties 是
類級別的,而且能夠同時指定多個屬性。
@JsonIgnoreProperties(value = {"age","color"})
public class
TestJackson{
private String id;
private String username;
private String password;
private Integer age;
private String color;
}
類中的age和color屬性都將會在序列化和反序列化時被忽略掉。
2.@JsonProperty
它用於屬性上,做用是
把屬性的名稱序列化成另一個名稱
@JsonProperty("name")
private String username;
把username屬性序列化爲name
3.@JsonInclude(JsonInclude.Include.NON_NULL)
這個註解表示,若是
值爲null,則不返回,還能夠在類上添加這個註釋,當實體類與json互相轉換的時候,
屬性值爲null的不參與序列化。
@JsonInclude(JsonInclude.Include.NON_NULL)
public Vector children;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class
TestJackson{
xxxxxx
}