安卓 后台JSON数据转换 GSON GSONFORMAT JSON

本文分享了使用OKHTTP进行网络请求及GSON解析JSON的经验,特别介绍了如何避免解析返回空值的问题,并提供了实用的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近 为了更新网络请求用上了OKHTTP   解析 JSON字符串也换成了 GSON  不得不说 代码量省了太多了,

但这两个集合起来封装 着实坑我了一天。

首先简单说一下我的网络请求封装 ,  先看下网络请求的方法


需要的参数 注释 已经解释过了。 然后 坑爹的部分就来了

Gson 解析 数据的方式 就不多说了 网上的大神写的都很好 ,我就说说我碰到的BUG 以便给各位提供参考

 gson.fromJson(response.body().string() ,UploadHchoData.class );
这个方法 就是  传递 JSON 字符串 跟 一个类,  但是这个方法 在这里解析的时候 返回的一般都是空而且无法封装

我用的是如图上的方法  用TYPE 代替CLASS ,typetoken是外部传递的 参数 格式如下

new TypeToken<UploadHchoData>(){} 
UploadHchoData 是实体类 这样的好处是, 如下图

当你拿到后台返回的JSON字符串结构的时候 新建一个BEAN 类 在这个类中快捷键 ALT+S

点击OK就会为你自动生成一个符合 当前JSON 的实体类 再也不用 头疼的去测试 后台返回的数据结构是不是符合标准了 ~~

当然别忘了在 IDEA 中 下载 GSONFORMAT 插件哦

接下来就是我遇到的困扰我一天的BUG 在 下边的方法中

@Override
public void onResponse(Response response) throws IOException {
我进行了GSON 的解析 但是返回的实体类一直都是空 到了最后的最后 我才发现

不能再次方法中 执行System.out.println()方法  。。。如果你写了 那么 GSON 解析后的值肯定是NULL。。。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值