我正在使用 ObjectMapper 和 JsonProperty 开发
com.fasterxml.jackson
库。
我扫描了几乎所有的 stackoverflow 问题,但找不到答案。
Json 数据被 proguard 损坏。
Json proguard时生成的数据:
{"a":{"a":"Oneil Hooper","b":""},"b":[{"a":"1656952356532","b":0,"q":""} ],"c":["+1986535623355"]}
我想要的数据:
{"displayName":{"name":"Oneil Hooper","surname":""},"b":[{"phoneNumber":"+1656952356532","b":0,"q":"" }],"c":["+1986535623355"]}
我的杰克逊proguard:
-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 *;
}
-keep class com.fasterxml.jackson.databind.ObjectMapper {
public <methods>;
protected <methods>;
}
-keep class * implements java.io.Serializable
-keep class com.fasterxml.jackson.databind.ObjectWriter {
public ** writeValueAsString(**);
}
-dontwarn com.fasterxml.jackson.databind.**
-keep class * implements com.fasterxml.jackson.core.type.TypeReference
像这样添加它修复了它:谢谢
-keep class * {
@com.fasterxml.jackson.annotation.JsonCreator
<fields>;
@com.fasterxml.jackson.annotation.JsonProperty
<fields>;
@com.fasterxml.jackson.annotation.JsonCreator
<methods>;
@com.fasterxml.jackson.annotation.JsonProperty
<methods>;
}
-keep class com.fasterxml.** { *; }
-keep class org.codehaus.** { *; }
-keepnames class com.fasterxml.jackson.** { *; }