Gson解析json数据
2016-06-07 10:40
417 查看
1、解析单个对象
JSON字符串如下
封装解析的对象
实体对象
解析代码
2、解析List集合
Json字符串如下
解析代码
3、解析map集合
Json字符串
解析测试类
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()); } }
相关文章推荐
- 【JS设计模式】责任链模式的代码示例
- 【转】JavaScript 正则表达式上——基本语法
- js拼字符串传action时 不要用#号拼接,用逗号
- javascript基础语法——表达式
- 客户端js判断文件类型和文件大小即限制上传大小
- JavaScript实现九九乘法表的简单实例
- javascript如何定义对象数组
- 在JavaScript中创建命名空间的几种写法
- js判断为空Null与字符串为空实例
- js判断输入的数据是否是正整数,包括100.00(100.000)
- JavaScript_compare_C++_部分类似处
- JSON对象遍历和处理
- 以.jsp和.html作为后缀的不同
- javascript函数作用域和嵌套调用关系
- ExtJs6 grid中根据返回数据结果动态添加checkcolumn组件
- js Date 获取 年 月 日 具体的值
- js中两种创建对象的方法
- javascript 数组的定义和数组的长度
- javascript之类型转换
- JSON is undefined. Infopath Form People Picker in SharePoint 2013