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 ...
随机推荐
- NopCommerce 发布时 Could not load file or assembly 'file:///...\Autofac.3.5.2\lib\net40\Autofac.dll' or one of its dependencies
本文转自:http://www.nopcommerce.com/boards/t/33637/4-errors.aspx 问题: The 3.5 solution compiles fine, and ...
- dp88dp6最靠谱的网络赚钱方法
(本文非原创,转载自http://mt.sohu.com/20160131/n436463696.shtml) 1.卖产品 最靠谱的当然是自己卖产品,可以先去淘宝.阿里巴巴.百度找到一款你认为有前景的 ...
- Observe the 0CTF & 0CON
I went to observe 0CTF and 0CON on 4.22 ~ 4.24 and just come back. Not only do I learn a lot from th ...
- 【原】ZenCoding中常用的CSS3样式
用ZenCoding这么久了,总结下常用CSS3的写法,方便以后查找: Property Alias @media print {} @m box-sizing:border-box; bxz:bb ...
- java编程思想读书笔记三(11-21)
十一:持有对象 >持有对象实例 ●数组将数字与对象联系起来.它保存类型明确的对象,查询对象时,不需要对结果做类型转换.他可以是多维的. 可以保存基本的数据类型.但是,数组一旦生成,容量就不会在变 ...
- URL和URI区别
URI:Universal Resource Identifier,通用资源标识符: URL:Uniform Resource Locator,统一资源定位符: 其中,URL是URI ...
- 2016年秋季的我,work with hololens
- string、math类、random随机数、datetime、异常保护
今天讲的知识点比较多,比较杂,以至于现在脑子里还有点乱,慢慢来吧... string (1)string.length; (获得你string字符串的长度) (2)a = a.Trim(); 重新赋值 ...
- [No000051]如何去掉word复制过来的文字背景色?
我们经常从网上copy一些自己需要的材料到word里.不过常常会把别人的背景色一起拷贝过来.那么如何去掉word复制过来的文字背景色? 方法/步骤 第一步选ctrl+A(全选),找到页面布局→页面边框 ...
- Eclipse cpp 开发 include路径