数据模型
data class PersonWrapper(
var name: String? = null,
val hand: Person
)
open class Person
data class Tom(
var name: String? = null,
var age: String? = null
) : Person()
data class Jake(
var name: String? = null,
var phone: String? = null
) : Person()
上面是我们常见的三个数据模型,Person 被 Tom 和 Jake 继承着,所以 Person 具有多态的特性
当我们对 PersonWrapper 这个类做序列化的时候,非常的简单,new 出相关实例,然后使用相关序列化库序列化即可。因为是针对 Kotlin 代码的序列化,下面是我只用 MoShi 和 KS 序列化,因为这两个对 Kotlin 支持更好。
MoShi
implementation 'com.squareup.moshi:moshi:1.8.0'
implementation 'com.squareup.moshi:moshi-adapters:1.8.0'
kapt 'com.squareup.moshi:moshi-kotlin-codegen:1.8.0' //这里我用的是 Kapt 而不是 反射
data class PersonWrapper(
var name: String? = n