У мене є робочий код для серіалізації / десеріалізації даних за допомогою Moshi 1.8.0
Оновлення до 1.9.1 тепер призводить до збоїв при спробі серіалізації:
java.lang.IllegalArgumentException: Не вдається серіалізувати тип Котліна com.xxx.Spot. Відображаюча серіалізація класів Котліна без використання котлін-відображення має невизначене та несподіване поведінку. Будь ласка, використовуйте KotlinJsonAdapter з артефакту moshi-kotlin або використовуйте код коду від артефакту moshi-kotlin-codegen.
Ось код серіалізатора:
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)
і відповідний клас T є
@IgnoreExtraProperties
data class Spot(
var id: String = "",
var localizedName: String? = null,
var type: String = "",
var location: Location? = null
)
Я абсолютно незрозумілий, що тут робити.
Дякую за допомогу!