大雄的专栏

你的时间花在哪里,收获就会在哪里

傻瓜式Gson解析

以前用官方自带的Json解析,一层一层剖析,代码简直太多了;现在很多开源框架直接解析成model返回了,使用也很方便。这次结合Andorid Studio提供的插件GsonFormat来完成傻瓜式Json数据解析。

1、下载插件:GsonFormat。File–>Settings–>Plugins搜索GsonFormat,安装之后要重启Andorid Studio,这是安装之后的样子

这里写图片描述

2、在app/build.gradle文件下添加依赖:
compile ‘com.google.code.gson:gson:2.2.4’

3、准备工作就完成了,下面开始解析,先来一波数据,浏览器效果是这样的:
这里写图片描述
这是因为浏览器(谷歌,360都可以)装了一个插件:FeHelper https://www.baidufe.com/fehelper
请求URL时浏览器会自动转换成这种格式

4、对着此数据Ctrl+A,Ctrl+C,然后打开Android Studio 创建一个返回的Model类,如图:

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

5、Model创建好了,下面直接解析就ok啦。

Gson gson = new Gson();
TestBean testBean = gson.fromJson(jsonStr, TestBean.class);

TestBean就是我们想要的实体啦。

6、下面介绍另外一种数据类型如图:
这里写图片描述
同样的老办法,Ctrl+A,Ctrl+C,自动生成Model之后,还是同样的代码,完美解析

Gson gson = new Gson();
TestBean testBean = gson.fromJson(jsonStr, TestBean.class);

7、下面来一种数组类型的:

[
{
"UseIntegral": "50",
"SourceName": "移动商城",
"OrderDate": "2016/5/19 21:54:38",
"StatusName": "待发货"
},
{
"UseIntegral": "40",
"SourceName": "移动商城",
"OrderDate": "2016/5/19 21:50:07",
"StatusName": "交易完成"
}
]

同样的老办法,Ctrl+A,Ctrl+C,自动生成Model之后,因为是数组,所以代码要变化一点了

Gson gsona = new Gson();
List<TestBean> list = gsona.fromJson(jsonStr, new TypeToken<List<TestBean>>() {}.getType());

到此:Gson解析就完成啦。
总结:

1、只看最外面的括号
如果是{}那么就用这种解析:

TestBean testBean = gson.fromJson(jsonStr, TestBean.class);

如果是[]那么久用这种解析:

List<TestBean> list = gsona.fromJson(jsonStr, new TypeToken<List<TestBean>>() {}.getType());

附:当然很多公司肯定有一套规范的Json格式,公共的返回参数自然要定义在BaseResult.java中咯。

阅读更多
个人分类: android
上一篇Andorid简单调试步骤
下一篇DialogFragment 仿IOS弹框简单实现
想对作者说点什么? 我来说一句

gson2.8.3.28

2018年03月28日 234KB 下载

Gson解析复杂json数据

2011年06月21日 39KB 下载

Gson解析流程图

2015年10月22日 67KB 下载

没有更多推荐了,返回首页

关闭
关闭