关闭

傻瓜式Gson解析

标签: gson插件studiojsonGsonFormat
638人阅读 评论(1) 收藏 举报
分类:

以前用官方自带的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中咯。

2
0
查看评论

Gson的两种解析用法

第一种.     常见的解析,直接将json字符串解析为对应的类. public JavaBean getJsonString(String jsonString) { Gson gson = new Gson(); // json 转为对应的类 Java...
  • cockiejock
  • cockiejock
  • 2017-02-07 09:56
  • 155

gson解析json数组

GSON的两个重要方法   在GSON的API中,提供了两个重要的方法:toJson()和fromJson()方法。其中,toJson()方法用来实现将Java对象转换为相应的JSON数据,fromJson()方法则用来实现将JSON数据转换为相应的Java对象。 1.1 toJson...
  • L_GQ_
  • L_GQ_
  • 2016-07-24 14:28
  • 10918

Gson解析Date,日期格式

// Weather weather = new Weather(); // weather.setId(123); // weather.setUpdatedTime(new Date()); // System.out.println(new Gson().toJson(weather)...
  • u010002184
  • u010002184
  • 2017-02-11 12:16
  • 1182

使用Gson解析复杂的json数据

Gson解析复杂的json数据
  • tkwxty
  • tkwxty
  • 2014-06-25 18:48
  • 173005

Android Gson深入分析

目前解析json有三种工具
  • rain_butterfly
  • rain_butterfly
  • 2014-08-06 17:51
  • 10968

Gson 的简单封装,避免解析null时报错

当我们使用gson进行数据解析的时候,我们通常会发现有时候解析String字符串类型但是后台返回的是null 因此我们要对此进行特殊处理,下面便是对gson的一些简单封装。public static class GsonBinder { //定义并配置gson private stati...
  • GL_MINE_CSDN
  • GL_MINE_CSDN
  • 2017-03-02 20:23
  • 1649

Gson解析json数据

json解析我们不陌生了,不过每次编写解析的代码时总是很头疼,一堆很无聊的代码,如果有50个接口那就得写50个相似的解析处理。其实谷歌和阿里很早就推出了解析json的工具包,谷歌的Json,阿里的FastJson,还有一个jackJson。有人说jackJson解析速度快,大数据时FastJson要...
  • itachi85
  • itachi85
  • 2015-04-22 09:49
  • 33873

使用Gson解析Json字符串(实际项目)

见另一篇博文如何准备好jar包;需要转的Json字符串很复杂,多层嵌套; 例如:{ "status": { "success": true, "code": 0 }, "d...
  • fengfeng043
  • fengfeng043
  • 2015-04-15 16:38
  • 1213

Gson解析(List和Map)格式json数据

主要解析 两种格式 列表格式 和 map格式 常用的是列表解析,以前不知道解析map,就用json配合gson使用,今天在论坛看到有人问,就试了一下才发现 解析map也很方便,哇喔,又涨姿势了.. public class jsonParse{ class City{ ...
  • OnlyOneCoder
  • OnlyOneCoder
  • 2013-11-23 21:54
  • 69195

Gson解析(详解)

先介绍一下Android原生的解析 在Android中包含四个与JSON相关的类和一个Exceptions: JSONObject    JSONArray             JSONSt...
  • heinika
  • heinika
  • 2015-11-08 16:56
  • 2822
    个人资料
    • 访问:96297次
    • 积分:1749
    • 等级:
    • 排名:千里之外
    • 原创:70篇
    • 转载:10篇
    • 译文:1篇
    • 评论:27条
    博客专栏
    文章分类