Gson解析json数据
1、解析单个对象
JSON字符串如下
[
{
"formatDate":"2015-10-28",
"date":"2015\u5e7410\u670828\u65e5 \u661f\u671f\u4e09",
"list":[{
"sdate":"2015-10-28",
"time":"08:00",
"type":"\u5e38\u89c4\u8d5b",
"home_team":"\u8001\u9e70",
"home_score":"94",
"visit_team":"\u6d3b\u585e",
"visit_score":"106"
},{
"sdate":"2015-10-28",
"time":"08:00",
"type":"\u5e38\u89c4\u8d5b",
"home_team":"\u516c\u725b",
"home_score":"97",
"visit_team":"\u9a91\u58eb",
"visit_score":"95"
}]
}
]
封装解析的对象
public class NBAMatchs {
/**
* 时间
*/
private String formatDate;
/**
* 赛程时间
*/
private String date;
/**
* 赛事列表
*/
List<NBAMatchBasic> list ;
public String getFormatDate() {
return formatDate;
}
public void setFormatDate(String formatDate) {
this.formatDate = formatDate;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public List<NBAMatchBasic> getList() {
return list;
}
public void setList(List<NBAMatchBasic> list) {
this.list = list;
}
}
实体对象
public class NBAMatchBasic {
private String sdate;
private String time ;
private String home_team;
private String home_score;
private String visit_team;
private String visit_score;
public String getSdate() {
return sdate;
}
public void setSdate(String sdate) {
this.sdate = sdate;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public String getHome_team() {
return home_team;
}
public void setHome_team(String home_team) {
this.home_team = home_team;
}
public String getHome_score() {
return home_score;
}
public void setHome_score(String home_score) {
this.home_score = home_score;
}
public String getVisit_team() {
return visit_team;
}
public void setVisit_team(String visit_team) {
this.visit_team = visit_team;
}
public String getVisit_score() {
return visit_score;
}
public void setVisit_score(String visit_score) {
this.visit_score = visit_score;
}
}
解析代码
public static void main(String[] args) {
String Json = "JSON字符串";
NBAMatchs NBA = new NBAMatchs();
NBA = new Gson().fromJson(Json, NBAMatchs.class);
System.out.println(NBA.getFormatDate());
}
2、解析List集合
Json字符串如下
[
{
"formatDate":"2015-10-28",
"date":"2015\u5e7410\u670828\u65e5 \u661f\u671f\u4e09",
"list":[
{
"sdate":"2015-10-28",
"time":"08:00",
"type":"\u5e38\u89c4\u8d5b",
"home_team":"\u8001\u9e70",
"home_score":"94",
"visit_team":"\u6d3b\u585e",
"visit_score":"106"
},{
"sdate":"2015-10-28",
"time":"08:00",
"type":"\u5e38\u89c4\u8d5b",
"home_team":"\u516c\u725b",
"home_score":"97",
"visit_team":"\u9a91\u58eb",
"visit_score":"95"
}]
},
{
"formatDate":"2015-10-29",
"date":"2015\u5e7410\u670829\u65e5 \u661f\u671f\u56db",
"list":[
{
"sdate":"2015-10-29",
"time":"07:00",
"type":"\u5e38\u89c4\u8d5b",
"home_team":"\u9b54\u672f",
"home_score":"87",
"visit_team":"\u5947\u624d",
"visit_score":"88"
},{
"sdate":"2015-10-29",
"time":"07:30",
"type":"\u5e38\u89c4\u8d5b",
"home_team":"\u51ef\u5c14\u7279\u4eba",
"home_score":"112",
"visit_team":"76\u4eba",
"visit_score":"95"
}]
}
]
解析代码
public static void main(String[] args) {
String NBAMatchJsons ="JSON字符串";
List<NBAMatchs> matchs = new ArrayList<NBAMatchs>();
matchs = new Gson().fromJson(NBAMatchJsons,new TypeToken<ArrayList<NBAMatchs>>() {}.getType());
System.out.println(matchs.size());
}
3、解析map集合
Json字符串
{
'1':
{'id': '1','code': 'bj','name': '北京','map': '39.90403, 116.40752599999996'},
'2':
{'id': '2','code': 'sz','name': '深圳','map': '22.543099, 114.05786799999998'},
'9':
{'id': '9','code': 'sh','name': '上海','map': '31.230393,121.473704'},
'10':
{'id': '10','code': 'gz','name': '广州','map': '23.129163,113.26443500000005'}
}
解析测试类
public class Test {
class City{
int id;
String name;
String code;
String map;
}
public static void main(String[] args) {
String jsonStr="Json字符串";
Map<String, City> citys = new Gson().fromJson(jsonStr, new TypeToken<Map<String, City>>() {}.getType());
System.out.println(citys.size());
}
}
Gson解析json数据的更多相关文章
- Android中使用Gson解析JSON数据的两种方法
Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率;本文将介绍两种方法解析JSON数据,需要的朋友可以参考下 Json是一种类似于XML的通用数据交换格式,具有比XML更高的 ...
- Android网络之数据解析----使用Google Gson解析Json数据
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- Google Gson解析Json数据应用实例
转自:http://lixigao449778967.blog.163.com/blog/static/24985164201269105928783/ 1.需要的Jar包 1) Google Gso ...
- Android中使用Gson解析JSON数据
Android中使用Gson解析JSON数据 在Android中可以使用Gson解析JSON数据 首先,从 code.google.com/p/google-gson/downloads/list ...
- JAVA使用Gson解析json数据,实例
封装类Attribute: public class Attribute { private int id; private String name; private int age; public ...
- 通过Gson解析Json数据
Json是一种数据格式,便于数据传输.存储.交换:Gson是一种组件库,可以把java对象数据转换成json数据格式. gson.jar的下载地址:http://search.maven.org/#s ...
- 我的Android进阶之旅------>解决Jackson、Gson解析Json数据时,Json数据中的Key为Java关键字时解析为null的问题
1.问题描述 首先,需要解析的Json数据类似于下面的格式,但是包含了Java关键字abstract: { ret: 0, msg: "normal return.", news: ...
- android 初步了解应用Gson 解析Json数据
1,因为没有服务器返回数据,对于Tomcat又懒得去配,所以我直接把数据写死到app中 先写一个实体类,便于操作 /** * 实体类 */ public class Person { int id ; ...
- Gson解析json数据(转)
一. www.json.org这是JSON的官方网站. 首先,我,我们需要在code.google.com/p/google-gson/downloads/list下载JSON的jar包,解析后把gs ...
- 使用Gson解析JSON数据
本文使用gson对json进行解析处理 首先,下载gson包 ,本文使用(gson-1.6.jar) package com.whroid.java.json; import com.google.g ...
随机推荐
- 中国版的 Office 365
与Windows Azure一样,中国版的Office 365也是由世纪互联运营的——与国际版完全隔离的定制版.而言,从功能方面来看,中国版的Office 365并没有损失太多功能,并且其更新速度也基 ...
- html5新增及废除属性
html5中,在新增加和废除很多元素的同时,也增加和废除了很多属性. 一.新增属性 1.表单属性 a.autofocus 对input[所有类型].select.textarea与button指定au ...
- [转]ASP.NET中使用UpdatePanel实现局部异步刷新方法和攻略
本文转自:http://blog.csdn.net/chenhongwu666/article/details/41392529/ asp.net UpdatePanel实现异步局部刷新 如有雷同,不 ...
- [转]ASP.NET MVC4+BootStrap 实战(一)
本文转自:http://leelei.blog.51cto.com/856755/1587301 好久没有写关于web开发的文章了,进到这个公司一直就是winform和Silverlight,实在是没 ...
- 创建基于Bootstrap的下拉菜单的DropDownList的JQuery插件
Bootstrap是当下流行的前端UI组件库之一.利用Bootstrap,可以很方便的构造美观.统一的页面.把设计师从具体的UI编码中解放出来. Bootstrap提供了不少的前端UI组件.带下拉 ...
- SQL Learning Notes
Sams Teach Yourself SQL in 10 Minutes
- 【HTML5】嵌入另一张HTML文档、通过插件嵌入内容、嵌入数字表现形式
1.嵌入另一张HTML文档 iframe 元素允许在现有的HTML文档中嵌入另一张文档.下面代码展示了iframe元素的用法: <!DOCTYPE html> <html lang= ...
- hdu 5894 hannnnah_j’s Biological Test 组合数学
传送门:hdu 5894 hannnnah_j’s Biological Test 题目大意:n个座位,m个学生,使每个学生的间隔至少为k个座位 组合中的插空法 思路:每个学生先去掉k个空位间隔,剩下 ...
- 怎样关闭WIN7系统的自动更新
百度经验 > 游戏/数码 > 电脑 > 电脑软件 怎样关闭WIN7系统的自动更新 听语音 | 浏览:108460 | 更新:2012-07-24 18:03 | 标签:win7 1 ...
- splay总结
以此文纪念人生首次竞赛大选 这里主要讲一讲splay的区间操作,我讲的是指针实现,程序的效率可能比较低,更偏重代码的可读可写性,语言风格不是很优美有效,不喜勿喷 零.初始化结构体 1)这里主要是初始化 ...