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

来源:互联网 发布:风险矩阵图怎么绘制 编辑:程序博客网 时间:2024/06/05 12:47

最近 为了更新网络请求用上了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 在 下边的方法中

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

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




0 0
原创粉丝点击