J'ai un POJO avec des annotations lombok que mon JSON désérialise à travers Jackson comme suit :
@Getter
@ToString
@NoArgsConstructor
@Builder
@AllArgsConstructor
@EqualsAndHashCode
@JsonIgnoreProperties(ignoreUnknown = true)
public class ResponsePOJO {
@JsonProperty("list-one")
private List<Object> list1 = Lists.newArrayList;
@JsonProperty("list-two")
private List<Object> list2 = Lists.newArrayList;
@JsonProperty("list-three")
private List<Object> list3 = Lists.newArrayList;
@JsonProperty("list-four")
private List<Object> list4 = Lists.newArrayList;
}
Lorsque jackson tente de désérialiser une réponse où seules les listes 1 et 2 sont présentes, je m'attends à ce que le POJO résultant ait les propriétés suivantes list3
y list4
comme une liste vide, ce qui est la valeur par défaut, mais au lieu de cela, ils sont désérialisés en tant que null
.
Que manque-t-il pour garantir que toutes les propriétés contiendront soit la valeur correspondante du JSON désérialisé, soit une liste vide qui est la valeur attribuée par défaut ?
---Update---- Ce n'était pas un problème jusqu'à ce que je mette à jour Spring 1.3.5 vers 1.4.2, ce qui a également mis à jour ma version de Jackson de 2.6.6 à 2.8.4.