Abschluss-Objekt-Konstruktion nach GSON Deserialisierung

Habe ich erfolgreich begonnen, mit GSON serialisiert und de-serialisiert, eine Hierarchie von Objekten, die in meinem Android-Anwendung.

Einige der Objekte, die serialisiert werden, haben Mitglieder die muss ich mark als transient (oder eine andere alternative GSON Anmerkungen zu verhindern, dass Sie serialisiert wird), weil Sie Referenzen auf Objekte, die ich nicht wollen, zu serialisieren, die als Teil der Ausgabe JSON-string. Diese Referenzen sind Objekte, die separat gebaut durch einige andere Mittel.

Einmal die Struktur ist de-serialisiert werden wieder in Java-Objekte, irgendwann muss ich füllen Sie diese Verweise. Ich könnte leicht tun dies vielleicht, indem Sie eine Reihe von setXXX() Typ-Verfahren, aber bis das erledigt ist, werden diese Objekte sind in einem unvollständigen Zustand. Was ich mich daher Frage ist, ob es einen robusteren Ansatz für diese.

Möglichkeiten, die ich gedacht haben, so weit:

  1. Haben die Objekte werfen RuntimeException (oder etwas besser geeignet), wenn Sie in einem unvollständigen Zustand; das heißt, wenn Sie aufgefordert werden, um einige Arbeit zu tun, wenn einige Initialisierungs-Methode nicht aufgerufen.

  2. Trennen die serializable-bits in einem separaten Daten-Modell-Objekt. In anderen Worten, nehmen Sie die Dinge, die nicht serialisiert werden. Nach GSON de-Serialisierung, Baue meine 'echte' Objekte über die Daten-Objekte in Ihrer Zusammensetzung. Dies scheint die Niederlage der Vorteile von GSON etwas.

  3. Schreiben Sie eine benutzerdefinierte deserializer für GSON behandeln die speziellen Erstellung dieser Objekte.

InformationsquelleAutor Trevor | 2013-03-18
Schreibe einen Kommentar