Um die anderen Antworten zu ergänzen: Wenn Sie das Auslassen von Nullwerten für jedes einzelne Feld kontrollieren müssen, sollten Sie das betreffende Feld mit Anmerkungen versehen (oder alternativ den "Getter" des Feldes mit Anmerkungen versehen).
Beispiel - nur hier fieldOne
wird in der JSON-Datei weggelassen, wenn sie null ist. fieldTwo
wird immer im JSON enthalten sein, unabhängig davon, ob es null ist.
public class Foo {
@JsonInclude(JsonInclude.Include.NON_NULL)
private String fieldOne;
private String fieldTwo;
}
Um alle Nullwerte in der Klasse standardmäßig auszulassen, kommentieren Sie die Klasse. Diese Vorgabe kann bei Bedarf durch feld- und getterbezogene Anmerkungen außer Kraft gesetzt werden.
Beispiel - aquí fieldOne
et fieldTwo
werden aus dem JSON ausgelassen, wenn sie null sind, da dies der Standardwert ist, der durch die Klassenanmerkung festgelegt wird. fieldThree
hat jedoch Vorrang vor der Standardeinstellung und wird aufgrund des Vermerks auf dem Feld immer berücksichtigt.
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Foo {
private String fieldOne;
private String fieldTwo;
@JsonInclude(JsonInclude.Include.ALWAYS)
private String fieldThree;
}
UPDATE
Die obigen Angaben sind für Jackson 2 . Für frühere Versionen von Jackson, die Sie verwenden müssen:
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
anstelle von
@JsonInclude(JsonInclude.Include.NON_NULL)
Wenn diese Aktualisierung nützlich ist, dann bewerten Sie bitte die Antwort von ZiglioUK weiter unten, die auf die neuere Jackson 2 Anmerkung hingewiesen hat, lange bevor ich meine Antwort aktualisiert habe, um sie zu verwenden!