2012-08-28 12 views
16

Zwykle używam objectMapper.setSerializationInclusion (JsonSerialize.Inclusion.NON_NULL), ponieważ nigdy nie chcę, aby wartości null z moich klas serializowane. Z wyjątkiem teraz mam określone pole powinno być wypisane, nawet jeśli jest puste. Czy istnieje szybka adnotacja, którą mogę umieścić na tym jednym polu, które przesłania właściwość Inclusion.NON_NULL dla tego jednego pola? Jaki jest dobry sposób na osiągnięcie tego?Jackson używać JsonSerialize.Inclusion.NON_NULL z wyjątkiem jednej klasy

Odpowiedz

25

Z Jacksonem 1.x można użyć @JsonSerialize(include=Include.ALWAYS), a przy Jackson 2.x można użyć @JsonInclude(Include.ALWAYS). Te adnotacje zastąpią domyślną konfigurację z Twojego ObjectMapper.

+0

Czy należy wspomnieć Jackson nazwę 2.x słoika i pakiet @JsonSerialize. –

+4

Pliki Jackson 1.x znajdują się w pakiecie org.codehaus.jackson, a 2.x w com.fasterxml.jackson –

2

Z Jackson 1,9 służy @JsonSerialize(include= JsonSerialize.Inclusion.ALWAYS)

@JsonSerialize(include=Include.ALWAYS) nie skompilować.

10

@ user1433372, JsonInclude to adnotacja tylko dla Jacksona 2.x.

w Jackson 1,9

@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY) 

jest taka sama jak w Jackson 2.x

@JsonInclude(JsonInclude.Include.NON_EMPTY) 
Powiązane problemy