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 ...
随机推荐
- MyEclipse 启动 tomcate 失败 解决方法
MyEclipse中启动tomcate失败 十月 20, 2015 9:53:04 下午 org.apache.catalina.startup.VersionLoggerListener log信息 ...
- 《2016ThoughtWorks技术雷达峰会----变革的原因》
变革的原因 张松 ,ThoughtWorks中国区总经理 首先回顾IT历史,观点如下: 1.在80,90年代,IT作为一个种生产效率的提高工具,主要是把手工的活动自动化.以client se ...
- sobel算子原理及opencv源码实现
sobel算子原理及opencv源码实现 简要描述 sobel算子主要用于获得数字图像的一阶梯度,常见的应用和物理意义是边缘检测. 原理 算子使用两个33的矩阵(图1)算子使用两个33的矩阵(图1)去 ...
- 《Invert》开发日志03:一些想法
本来标题想写“详细设计”,但是由于独立游戏开发有很强的探索性,最终项目一定是经过原型调整迭代而来的,所以在实际效果出来之前把设计做得太细并没有太大意义,现在只能先陈列目前的一些想法,不能定义“它是什么 ...
- iOS - 用 UIBezierPath 实现果冻效果
最近在网上看到一个很酷的下拉刷新效果(http://iostuts.io/2015/10/17/elastic-bounce-using-uibezierpath-and-pan-gesture/). ...
- ItemIndex
ItemIndex一般是列表的一个属性,比如TCombobox和TListBox都有,表示当前选中的项(Item)的下标(Index),如果没有选中,那它是-1,所以一般判断TCombox或TList ...
- BZOJ 1834 【ZJOI2010】 network 网络扩容
Description 给定一张有向图,每条边都有一个容量C和一个扩容费用W.这里扩容费用是指将容量扩大1所需的费用.求: 1. 在不扩容的情况下,1到N的最大流: 2. 将1到N的最大流增加K所需的 ...
- 黑暗圣经---物业公司CTO/CEO改如何给老板推荐物业信息化产品
多年前一次偶然的机会进入到物业信息化行业,在这个过程中认识很多奋战在物业一线的技术大牛.很多时候都会介绍一些朋友给我认识一下,帮我推荐一下我们闻风多奇的物业管理平台.很多朋友看完我们的系统之后都会很开 ...
- Core Web API上使用Swagger提供API文档
在ASP.NET Core Web API上使用Swagger提供API文档 我在开发自己的博客系统(http://daxnet.me)时,给自己的RESTful服务增加了基于Swagger的AP ...
- grains
用途 1,匹配客户端 2,配置文件里使用 3,资产管理 定义grains方法1: 方法2: