Tôi có một mã tuần tự hóa / giải tuần tự hóa dữ liệu bằng cách sử dụng Moshi 1.8.0
Nâng cấp lên 1.9.1 bây giờ dẫn đến sự cố khi cố gắng tuần tự hóa:
java.lang.IllegalArgumentException: Không thể tuần tự hóa loại Kotlin com.xxx.Spot. Phản ứng tuần tự hóa các lớp Kotlin mà không sử dụng phản xạ kotlin có hành vi không xác định và không mong muốn. Vui lòng sử dụng KotlinJsonAd CHƯƠNG từ tạo tác moshi-kotlin hoặc sử dụng gen mã từ tạo tác moshi-kotlin-codegen.
Đây là mã serializer:
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)
và lớp T tương ứng là
@IgnoreExtraProperties
data class Spot(
var id: String = "",
var localizedName: String? = null,
var type: String = "",
var location: Location? = null
)
Tôi hoàn toàn không biết phải làm gì ở đây.
Cảm ơn đã giúp đỡ!
cho chúng tôi thấy sự phụ thuộc mà bạn đang sử dụng
—
coroutineDispatcher