Utilizzando Gson, voglio deserializzare una classe Kotlin che contiene una proprietà lazy.Deserializzare le classi con proprietà lazy usando Gson e Kotlin 1.0 beta 4
Con Kotlin 1.0 beta 4 ottengo il seguente errore durante la deserializzazione oggetto:
Caused by: java.lang.InstantiationException: can't instantiate class kotlin.Lazy
Con Kotlin 1.0 beta 2, che ho usato per marcare la proprietà con l'annotaiton @Transient dire GSON per saltarlo. Con la beta 4 questo non è più possibile, poiché l'annotazione causa un errore di compilazione.
This annotation is not applicable to target 'member property without backing field'
Non riesco a capire come risolvere questo problema. Qualche idea?
Modifica: la proprietà lazy viene serializzata su JSON ("my_lazy_prop$delegate":{}
), ma questo non è quello che voglio in quanto è calcolato da altre proprietà. Suppongo che se trovassi un modo per impedire che la proprietà venisse serializzata, il crash di deserializzazione sarebbe stato risolto.
Ti dispiacerebbe cambiare la risposta accettata a il mio, che è più aggiornato e ha molti più voti? –
Sure @FabianZeindl – clemp6r