栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Gson 实体类解析问题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Gson 实体类解析问题

混淆规则(解决Relase包无法正常解析)
# Gson uses generic type information stored in a class file when working with fields. Proguard
# removes such information by default, so configure it to keep all of it.
-keepattributes Signature

# For using GSON @Expose annotation
-keepattributes *Annotation*

# Gson specific classes
-keep class sun.misc.Unsafe { *; }
//这里很重要不可忽略
-keep class com.google.gson.stream.** { *; }

#实体类跳过混淆
# Application classes that will be serialized/deserialized over Gson
-keep class com.google.gson.examples.android.model.** { *; }
//这里是自定义的实体类
-keep class com.xxx.bean.** { *; }
-keep class com.xxx.bean.*
Type (解决 gson cannot be cast to xxx 问题)
//两种方法获取Type
1 如果是确定的实体类型就用这种
Type type = new TypeToken() {}.getType();
Gson().fromJson(data, type)

2 如果是带有泛型类型的解析就用这种
Type type = ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];
Gson().fromJson(data, type)
如果还有问题 那么尝试将Kotlin data类转为Java类
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号