[Java] Comment dire à Jackson d'ignorer un champ pendant la sérialisation si sa valeur est nulle?


Answers

Avec Jackson> 1.9.11 et <2.x, utilisez l'annotation @JsonSerialize pour cela:

@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)

Question

Comment Jackson peut-il être configuré pour ignorer une valeur de champ pendant la sérialisation si la valeur de ce champ est null.

Par exemple:

public class SomeClass {
   // what jackson annotation causes jackson to skip over this value if it is null but will 
   // serialize it otherwise 
   private String someValue; 
}



Dans Jackson 2.x, utilisez:

@JsonInclude(JsonInclude.Include.NON_NULL)



dans mon cas

@JsonInclude(Include.NON_EMPTY)

fait marcher ça.




Si vous voulez ajouter cette règle à tous les modèles de Jackson 2.6+, utilisez:

mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);






Jackson 2.x + utilisation

mapper.getSerializationConfig().withSerializationInclusion(JsonInclude.Include.NON_NULL);