2016-06-28 128 views
0

考慮下面的類:@JsonIgnore屬性和沒有註解的屬性之間有什麼區別?

private static class Widget { 

    @JsonProperty 
    private String id = "ID"; 

    @JsonIgnore 
    private String jsonIgnored = "JSON_IGNORED"; 

    private String noAnnotation = "NO_ANNOTATION"; 
} 

如果我序列化此使用傑克遜,我將結束與此字符串:

{"id":"ID"} 

有什麼用@JsonIgnore和一個沒有註釋的屬性之間的區別?

回答

1

@JsonIgnore註釋的屬性/方法不會被Jackson序列化/反序列化。雖然沒有註釋將是。

這裏的問題是,傑克遜通常尋找吸氣劑,並且你沒有指定任何吸氣劑。所以這就是爲什麼它只是序列化@JsonProperty註釋的屬性。

如果要實現3個干將爲3個屬性,你的JSON看起來就像這樣:

{ 
    "id":"ID", 
    "noAnnotation":"NO_ANNOTATION" 
} 
相關問題