jackson未能对Kotlin数据类进行反序列化
我正在使用Jackson反序列化Kotlin数据类。 我正在使用jackson-kotlin-module
但是Jackson给了我下面的错误:
无法构造MyClass的实例:找不到合适的构造函数,无法从Object值反序列化
我已经尝试添加proguard规则来保留我的类,它的构造函数没有任何成功。
如果我添加一个规则来保存所有的kotlin类,错误就会消失。
有任何想法吗?
经过大量的试验和错误,我发现Proguard从我的数据类剥离了kotlin.Metadata
注释。
添加以下规则可修复此问题:
-keep class kotlin.Metadata { *; }
我还发现添加一个规则,以保持我的数据类的综合方法也需要:
-keepclassmembers public class com.mypackage.** { public synthetic ; }
- Java / Kotlin:为什么Jackson解析日期与SimpleDateFormat不同?
- jackson-dataformat-csv不会忽略未知属性
- 如何在Kotlin中使用Jackson JsonSubTypes注释
- jackson@JsonIgnoreProperties多个字段与Kotlin
- jackson自定义序列化程序或值对象?
- 基于科林地图的属性和jackson不工作 – 委托点不同的地图,即地图属性
- jackson,用私有字段和arg构造函数反序列化没有注释的类
- 自定义反序列化器在杰克逊的任何名单
- 即使使用jackson-datatype-jsr310,Instant也不能被序列化为适当的格式