已解决
Gson 解析容错框架
来自网友在路上 160860提问 提问时间:2023-11-04 15:35:35阅读次数: 60
最佳答案 问答题库608位专家为你答疑解惑
官网
GitHub - getActivity/GsonFactory: Gson 解析容错框架,愿从此再无 Json 解析报错,另外还适配了 Kotlin 默认值,和后台返回空值的情况
项目简介
Gson 解析容错框架,愿从此再无 Json 解析报错,另外还适配了 Kotlin 默认值,和后台返回空值的情况
集成步骤
- 如果你的项目 Gradle 配置是在 7.0 以下,需要在 build.gradle 文件中加入
allprojects {repositories {// JitPack 远程仓库:https://jitpack.iomaven { url 'https://jitpack.io' }}
}
- 如果你的 Gradle 配置是 7.0 及以上,则需要在 settings.gradle 文件中加入
dependencyResolutionManagement {repositories {// JitPack 远程仓库:https://jitpack.iomaven { url 'https://jitpack.io' }}
}
- 配置完远程仓库后,在项目 app 模块下的 build.gradle 文件中加入远程依赖
android {// 支持 JDK 1.8compileOptions {targetCompatibility JavaVersion.VERSION_1_8sourceCompatibility JavaVersion.VERSION_1_8}
}dependencies {// Gson 解析容错:https://github.com/getActivity/GsonFactoryimplementation 'com.github.getActivity:GsonFactory:8.0'// Json 解析框架:https://github.com/google/gsonimplementation 'com.google.code.gson:gson:2.10.1'
}
- 需要注意的是:Gson 框架必须使用 2.9.0 及以上版本,否则将会出现版本兼容问题
使用文档
- 请使用框架返回的 Gson 对象来代替项目中的 Gson 对象
// 获取单例的 Gson 对象(已处理容错)
Gson gson = GsonFactory.getSingletonGson();
- 因为框架中的 Gson 对象已经对解析规则进行了容错处理
其他 API
// 设置自定义的 Gson 对象
GsonFactory.setSingletonGson(Gson gson);// 创建一个 Gson 构建器(已处理容错)
GsonBuilder gsonBuilder = GsonFactory.newGsonBuilder();// 注册类型适配器
GsonFactory.registerTypeAdapterFactory(TypeAdapterFactory factory);// 注册构造函数创建器
GsonFactory.registerInstanceCreator(Type type, InstanceCreator<?> creator);// 添加反射访问过滤器
GsonFactory.addReflectionAccessFilter(ReflectionAccessFilter filter);// 设置 Json 解析容错监听
GsonFactory.setJsonCallback(new JsonCallback() {@Overridepublic void onTypeException(TypeToken<?> typeToken, String fieldName, JsonToken jsonToken) {// Log.e("GsonFactory", "类型解析异常:" + typeToken + "#" + fieldName + ",后台返回的类型为:" + jsonToken);// 上报到 Bugly 错误列表中CrashReport.postCatchedException(new IllegalArgumentException("类型解析异常:" + typeToken + "#" + fieldName + ",后台返回的类型为:" + jsonToken));}
});
查看全文
99%的人还看了
相似问题
- 2022 年十大 JavaScript 框架
- BeautifulReport测试报告框架
- Rust生态系统:探索常用的库和框架
- 【实战详解】如何快速搭建接口自动化测试框架?Python + Requests
- 安全框架springSecurity+Jwt+Vue-1(vue环境搭建、动态路由、动态标签页)
- 在 Qt 框架中,有许多内置的信号可用于不同的类和对象\triggered
- html主页框架,前端首页通用架构,layui主页架构框架,首页框架模板
- Swagger-----knife4j框架
- Nuxt3框架局部文件引用外部JS/CSS文件的相关配置方法
- UI 自动化测试框架设计与 PageObject 改造!
猜你感兴趣
版权申明
本文"Gson 解析容错框架":http://eshow365.cn/6-31931-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!