我正在使用Jackson来反序列化Kotlin数据类。我正在使用jackson-kotlin-module
,但 jackson 却给我以下错误:
Can not construct instance of MyClass: no suitable constructor found, can not deserialize from Object value
我尝试添加proguard规则来保留我的类,但它的构造函数没有任何成功。
如果我添加一条规则来保留所有kotlin类,该错误就会消失。
有任何想法吗?
最佳答案
经过大量的反复试验,我发现Proguard正在从数据类中剥离kotlin.Metadata
批注。
添加以下规则可解决此问题:
-keep class kotlin.Metadata { *; }
我还发现也需要添加一条规则来在我的数据类上保留综合方法:
-keepclassmembers public class com.mypackage.** {
public synthetic <methods>;
}
关于jackson - jackson 未能反序列化Kotlin数据类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44427234/