Как десериализовать делегатов Котлина в GSON

У меня этот класс:

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

Я использую библиотеку Fx-GSON для сериализации свойств JavaFx.

Когда я сериализую его в JSON, я получаю следующее:

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

Но когда я десериализую его обратно к объекту типа Project name и nameProperty представляют собой два разных объекта .

Как сделать делегат name свойства новым nameProperty ?

Вы можете создать что-то, основанное на ExclusionStrategy от GSON, чтобы исключить поля делегирования из сериализации. Либо, проверяя суффикс поля $delegate либо используя отражение Котлина.

Intereting Posts
kodein – введенное значение данных не является значением данных Есть ли способ отфильтровать null Any? ценностей на карте Котлина? В языке программирования Kotlin значение varargs с точки зрения использования как создать массив повторяющихся объектов в котлин? Drone.getAttribute (AttributeType.Signal) возвращает недействительный сигнал Перевести Свифт в Котлин Аннотации времени выполнения, аннотированные по поданной в классе kotlin, генерируются неправильно Создание карты со значениями, содержащими дженерики Bulid JAXB классы в Gradle usin Kotlin Не удалось слияние манифеста: при использовании модуля kotlin Tornadofx – Как передать параметр Fragment на каждый экземпляр Оптимизация производительности LineBreakMeasurer Как помещать выражение лямбда после параметров на mapTo вызвать юридический синтаксис? Не удается найти классы Kotlin при компиляции IntelliJBehave Делегаты Котлина с постоянством номера lib