【发布时间】:2020-02-27 19:37:44
【问题描述】:
我有一个使用 Moshi 1.8.0 序列化/反序列化数据的工作代码
现在升级到 1.9.1 会导致尝试序列化时崩溃:
java.lang.IllegalArgumentException:无法序列化 Kotlin 类型 com.xxx.现货。 Kotlin 类的反射序列化没有 使用 kotlin-reflect 具有未定义和意外的行为。请用 来自 moshi-kotlin 工件的 KotlinJsonAdapter 或使用来自 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
)
我完全不知道在这里做什么。
感谢您的帮助!
【问题讨论】:
-
向我们展示你正在使用的依赖项