2012-08-28 16 views
16

Normalmente uso objectMapper.setSerializationInclusion (JsonSerialize.Inclusion.NON_NULL) porque nunca quiero que se serialicen los valores nulos de mis clases. Excepto que ahora tengo un campo específico que debe escribirse, incluso si es nulo. ¿Hay alguna anotación rápida que pueda incluir en este campo que anula la propiedad Inclusion.NON_NULL para ese campo? ¿Cuál es una buena manera de lograr esto?Jackson usa JsonSerialize.Inclusion.NON_NULL excepto para una clase

Respuesta

25

Con Jackson 1.x puede usar @JsonSerialize(include=Include.ALWAYS) y con Jackson 2.x puede usar @JsonInclude(Include.ALWAYS). Estas anotaciones anularán la configuración predeterminada de su ObjectMapper.

+0

¿Puede usted mencionar Jackson nombre del jar 2.x y el paquete @JsonSerialize. –

+4

Las cosas de Jackson 1.x están bajo el paquete org.codehaus.jackson y 2.x está bajo com.fasterxml.jackson –

2

Con Jackson 1.9 se utiliza @JsonSerialize(include= JsonSerialize.Inclusion.ALWAYS)

@JsonSerialize(include=Include.ALWAYS) no compilar.

10

@ user1433372, JsonInclude es una anotación solo para Jackson 2.x.

en Jackson 1,9

@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY) 

es la misma en Jackson 2.x como

@JsonInclude(JsonInclude.Include.NON_EMPTY) 
Cuestiones relacionadas