Jacksonmapper Kotlin的领域类失败

时间:2019-04-10 06:37:59

标签: android kotlin jackson realm proguard

在与Realm类一起使用jacksonMapper时出现此错误

Non-fatal Exception: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "id" (class com.company.myproject.model.realm.d), not marked as ignorable (0 known properties: ]

这是我的代码:

val list = jacksonObjectMapper().readValue<List<CountryRealm>>(readJSONFromAsset("country.json")

这是我的CountryRealm类:

@RealmClass
open class CountryRealm : RealmObject() {
    @PrimaryKey
    var id: Int = 0
    var code: String = ""
    var description: String = ""
}

我使用具有以下规则的proguard:

-dontwarn com.fasterxml.jackson.databind.**
-keep class kotlin.Metadata { *; }
-keep class kotlin.reflect.** { *; }
# Jackson
-keep @com.fasterxml.jackson.annotation.JsonIgnoreProperties class * { *; }
-keep class com.fasterxml.** { *; }
-keep class org.codehaus.** { *; }
-keepnames class com.fasterxml.jackson.** { *; }
-keepclassmembers public final enum com.fasterxml.jackson.annotation.JsonAutoDetect$Visibility {
    public static final com.fasterxml.jackson.annotation.JsonAutoDetect$Visibility *;
}

删除Proguard时,一切正常。

请注意,映射仅对Realm类失败

0 个答案:

没有答案