jackson - jackson 未能反序列化Kotlin数据类

标签 jackson kotlin proguard

我正在使用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/

相关文章:

spring - 将查询参数映射到 @ModelAttribute 不尊重 @JsonProperty 名称

java - JSON 文件中的 Jackson 日期反序列化错误

javascript - 合并 Java 中的两个对象列表以使用 Jackson 创建 Json

android - Google Play 服务和 admob 使我的应用程序的内存翻倍

java - 解析 JSON 以供在 highchart.js 中使用

android - RecyclerView的数据变化时更新Fragment中的TextView

java - 如何在 hibernate-validator 中创建可选/可为空的属性?

c++ - 构建共享对象——用 ninja 编译在 osx 上工作,在 windows 上用 ubuntu crush

android - 如果使用 Proguard,Google Place API Status 会返回 NULL

java - Android Studio 生成签名的 apk 无法正常工作2