/ / Jackson Eins-zu-Eins-Serialisierung - Java, Json, Jackson, Zyklus, bidirektionale Beziehung

Jackson One-to-One-Serialisierung - Java, JSON, Jackson, Zyklus, bidirektionale Beziehung

Ich suche einen Weg in Jackson zu erlaubenSerialisierung einer Beziehung abhängig vom Wurzelelement. Zum Beispiel habe ich eine Beziehung, die kein echtes Elternteil / Kind ist. Beide Entitäten können abgefragt werden.

Address {
@JsonBackReference
Company company;
String line1;
String city;
String state;
String zip;
String country;
}

Company {
Address mainAddress;

List<Address> locations;
String name;
}

Die JsonBackReference macht es so, dass es keine gibtZirkelreferenz beim Serialisieren nach Json. Dies führt jedoch auch dazu, dass ich die Firma einer Adresse nicht kenne. Wenn ich Firmen aufliste, kommen die Adressen zurück und alles ist gut. Aber wenn ich Adressen aufliste, würde ich die Serialisierung des Unternehmens wünschen. Gibt es einen Weg, dies zu erreichen?

Antworten:

0 für die Antwort № 1

Sie müssen Jacksons verwenden @JsonTypeInfo zum Serialisieren und Deserialisieren. Bitte sieh dir ... an Jacksons Dokumentation für mehr Details. Versuchen zu vermeiden 1.9.8 Version, wenn Sie über statische innere Klassen verfügen (dies hat einen Fehler und führt zu StackOverflowError).