Ho un codice funzionante che serializza / deserializza i dati usando Moshi 1.8.0
L'aggiornamento a 1.9.1 ora causa un arresto anomalo quando si tenta di serializzare:
java.lang.IllegalArgumentException: impossibile serializzare il tipo Kotlin com.xxx.Spot. La serializzazione riflessiva delle classi di Kotlin senza l'utilizzo di kotlin-reflection ha un comportamento indefinito e inaspettato. Si prega di utilizzare KotlinJsonAdapter dal manufatto moshi-kotlin o utilizzare il codice gen dal manufatto moshi-kotlin-codegen.
Ecco il codice serializzatore:
val moshi = Moshi.Builder().build()
val dataListType = newParameterizedType(List::class.java, T::class.java)
val adapter: JsonAdapter<List<T>> = moshi.adapter(dataListType)
val json = adapter.toJson(dataList)
e la corrispondente classe T è
@IgnoreExtraProperties
data class Spot(
var id: String = "",
var localizedName: String? = null,
var type: String = "",
var location: Location? = null
)
Sono totalmente all'oscuro di cosa fare qui.
Grazie per l'aiuto!