Jackson 未能反序列化 Kotlin 数据 类
Jackson fails to deserialize Kotlin data classes
我正在使用 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 反序列化 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>;
}