2017-10-14 4 views
1

Ich habe diese Klasse:Wie Deserialisieren Kotlin Delegierten in Gson

class Project { 
    val nameProperty = SimpleStringProperty("foobar") 
    val name by nameProperty 
} 

Ich benutze Fx-GSON Bibliothek JavaFx Eigenschaften serialisiert werden.

Wenn ich es zu JSON serialisiert bekomme ich diese:

{ 
    "nameProperty": "foobar", 
    "name$delegate": "foobar" 
} 

Aber wenn ich es zurück zum Objekt vom Typ Project die name und nameProperty deserialisieren sind 2 verschiedene Objekte.

Wie zu machen name Property-Delegat auf die neue nameProperty?

Antwort

0

Sie könnten etwas basierend auf GSONs ExclusionStrategy erstellen, um Delegiertenfelder von der Serialisierung auszuschließen. Entweder indem Sie nach dem Feldsuffix $delegate suchen oder indem Sie Kotlins Reflexion verwenden.

Verwandte Themen