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数据的更多相关文章

  1. Android中使用Gson解析JSON数据的两种方法

    Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率;本文将介绍两种方法解析JSON数据,需要的朋友可以参考下   Json是一种类似于XML的通用数据交换格式,具有比XML更高的 ...

  2. Android网络之数据解析----使用Google Gson解析Json数据

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  3. Google Gson解析Json数据应用实例

    转自:http://lixigao449778967.blog.163.com/blog/static/24985164201269105928783/ 1.需要的Jar包 1) Google Gso ...

  4. Android中使用Gson解析JSON数据

      Android中使用Gson解析JSON数据 在Android中可以使用Gson解析JSON数据 首先,从 code.google.com/p/google-gson/downloads/list ...

  5. JAVA使用Gson解析json数据,实例

    封装类Attribute: public class Attribute { private int id; private String name; private int age; public ...

  6. 通过Gson解析Json数据

    Json是一种数据格式,便于数据传输.存储.交换:Gson是一种组件库,可以把java对象数据转换成json数据格式. gson.jar的下载地址:http://search.maven.org/#s ...

  7. 我的Android进阶之旅------>解决Jackson、Gson解析Json数据时,Json数据中的Key为Java关键字时解析为null的问题

    1.问题描述 首先,需要解析的Json数据类似于下面的格式,但是包含了Java关键字abstract: { ret: 0, msg: "normal return.", news: ...

  8. android 初步了解应用Gson 解析Json数据

    1,因为没有服务器返回数据,对于Tomcat又懒得去配,所以我直接把数据写死到app中 先写一个实体类,便于操作 /** * 实体类 */ public class Person { int id ; ...

  9. Gson解析json数据(转)

    一. www.json.org这是JSON的官方网站. 首先,我,我们需要在code.google.com/p/google-gson/downloads/list下载JSON的jar包,解析后把gs ...

  10. 使用Gson解析JSON数据

    本文使用gson对json进行解析处理 首先,下载gson包 ,本文使用(gson-1.6.jar) package com.whroid.java.json; import com.google.g ...

随机推荐

  1. plain framework 1 版本更新 1.0.2 增加打包插件

    由于个别因素,该框架的文档没有及时的更新到博客上,但是离线的文档已经完成.本次更新对框架来说显得比较重要,因为在文档的编写过程中经过再次的阅读代码修复了不少错误,最主要的是统一了整个框架的标准风格.对 ...

  2. 结对编程项目——四则运算vs版

    结对编程项目--四则运算vs版 1)小伙伴信息:        学号:130201238 赵莹        博客地址:点我进入 小伙伴的博客 2)实现的功能: 实现带有用户界面的四则运算:将原只能在 ...

  3. 详细说说 Google Test Certified 的各级——Level 1

    转载请联系作者,谢谢! 当你作为初创企业或项目的唯一测试人员,一个人一杠枪,你如何开始测试的工作?你是作为一条孤狼,面对10个甚至更多的开发,努力的做一条龙服务(加班加到死):还是想从1到11的转变? ...

  4. UVALive 5066 Fire Drill --BFS+DP

    题意:有一个三维的地图,有n个人被困住,现在消防队员只能从1楼的一个入口进入,营救被困者,每一个被困者有一个价值,当消防队员找到一个被困者之后,他可以营救或者见死不救,如果救的话,他必须马上将其背到入 ...

  5. jsp前三章测试改错题

      (选择一项) A: B: C: D: 正确答案是 B ,B/S架构并不是C/S架构的替代品,有些程序例如大型的网络游戏一般使用的是C/S架构. (选择多项) A: B: C: D: 正确答案是 A ...

  6. C++ ODB 框架(未实践使用)

    http://www.codesynthesis.com/products/odb/doc/manual.xhtml#17.1

  7. 转:Configure your eclipse for C++

    from: http://omtlab.com/configure-your-eclipse-for-c/ Configure your eclipse for C++ July 7, 2013 Th ...

  8. javascript时间的一些问题

    1.求当前时间. var curDate = new Date(); 2.求当前时间的前一天 var preDate = new Date(curDate.getTime()-24*60*60*100 ...

  9. OC中的指针

    NSError *err = nil; NSError __strong **error = &err; //因为在oc中,通过* *err 创建的指针是用__strong修改的,所以要一致, ...

  10. javascript动态创建script标签,加载完成后调用回调

    代码如下: var head = document.getElementsByTagName('head')[0]; var script = document.createElement('scri ...