Jackson經常使用註解及用法

最近寫項目,用到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
}
相關文章
相關標籤/搜索