Kotlin学习之初探——数据类的JSON序列化

框架

*Gson
*Moshi
*kotinx.serialization

Gson

反序列化不识别数据类构造参数中的默认值
原因是Gson使用UnSafe这个类寻找无参构造器来初始化
对于有init块和lazy这种情况,需要配置noarg插件使用

Moshi

对于数据类构造参数中的默认值的情况,会使用注解处理器来辅助处理,
注解处理器:KAPT

kotinx.serialization

通过直接生成字节码

框架对比

Gson_Moshi_KX序列化框架对比.png

你可能感兴趣的:(Kotlin学习之初探——数据类的JSON序列化)