Wie man Jackson dazu bringt, eine get () - Methode zu ignorieren, wenn man ein Objekt serialisiert
Ich habe diesen code in eine Klasse mit dem Namen Project
:
@Transient
public List<Release> getAllReleases() {
List<Release> releases = new ArrayList<Release>();
...
return releases;
}
Wenn ein Projekt-Objekt serialisiert wird die getAllReleases()
- Methode aufgerufen wird, und ein allReleases
Feld Hinzugefügt wird, um das serialisierte Objekt.
Wenn ich @JsonIgnore
vor der Methode bekomme ich das gleiche Ergebnis. Also ich Frage mich, wie kann ich implementieren einen getFoo()
Methode, die ignoriert Jackson beim serialisieren des Objekts.
Alternativ könnte ich tun:
static public List<Release> getAllReleases(Project proj) {
List<Release> releases = new ArrayList<Release>();
...
return releases;
}
aber die Lösung sieht ein bisschen hässlich, und ich bin mir ziemlich sicher, es muss einen einfacheren Mechanismus zur Verfügung gestellt von Jackson.
Bin ich etwas fehlt? TIA
InformationsquelleAutor der Frage NoUserFound | 2014-05-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Markieren Sie die get-Methode, mit der
@JsonIgnore
Anmerkung es sollten nicht serialisiert werden. Hier ist ein Beispiel:Ausgabe:
InformationsquelleAutor der Antwort Alexey Gavrilov
Müssen Sie implementieren ein JSon serializer, die nichts tut und dann legen Sie es mithilfe der @JSonSerialize(mit = EmptySerializer.class).
Klicken Sie auf die refrence für weitere Beispiel.
Referenz: Jackson: wie Sie verhindern, dass Feld-Serialisierung
InformationsquelleAutor der Antwort Excelsior