Ich benutze Jackson ObjectMapper, um ein POJO zu serialisieren. Ich habe Felder im POJO verschachtelt. ZB: Serialisierung Klasse MyClass
Jackson ignorieren Serialisierung von Top-Level-Feld, wenn alle verschachtelten Felder null sind
public class MyClass {
private A a;
private int i;
//getters and setters
}
public class A {
private String s;
//getters and setters
}
Ich möchte, dass, wenn String s
null
ist, A
das gesamte Objekt nicht serialisiert bekommt. Das heißt, wenn String s
ist null
, möchte ich die Ausgabe sein: {"myClass":{"i":10}}
Aber ich bin immer {"myClass":{"A":{},"i":10}}
als die Ausgabe statt.
ich gesetzt haben NON_EMPTY
für die Serialisierung Aufnahme (mapper.setSerializationInclusion(JsonInclude.Include.NON_EMPTY)
), aber es löst nicht das Problem
Mögliches Duplikat von [Wie Jackson sagen zu ignorieren ein Feld bei der Serialisierung, wenn sein Wert ist null?] (Http hinzufügen : //stackoverflow.com/questions/11757487/how-to-tell-jackson-to-ignore-a-field-during-serialization-if-its-value-is-null) – Arpit