• Gson解析json数据


    1、解析单个对象

      JSON字符串如下

    [
        {
            "formatDate":"2015-10-28",
            "date":"2015u5e7410u670828u65e5 u661fu671fu4e09",
            "list":[{
                        "sdate":"2015-10-28",
                        "time":"08:00",
                        "type":"u5e38u89c4u8d5b",
                        "home_team":"u8001u9e70",
                        "home_score":"94",
                        "visit_team":"u6d3bu585e",
                        "visit_score":"106"
                    },{
                        "sdate":"2015-10-28",
                        "time":"08:00",
                        "type":"u5e38u89c4u8d5b",
                        "home_team":"u516cu725b",
                        "home_score":"97",
                        "visit_team":"u9a91u58eb",
                        "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":"2015u5e7410u670828u65e5 u661fu671fu4e09",
            "list":[
                    {
                        "sdate":"2015-10-28",
                        "time":"08:00",
                        "type":"u5e38u89c4u8d5b",
                        "home_team":"u8001u9e70",
                        "home_score":"94",
                        "visit_team":"u6d3bu585e",
                        "visit_score":"106"
                    },{
                        "sdate":"2015-10-28",
                        "time":"08:00",
                        "type":"u5e38u89c4u8d5b",
                        "home_team":"u516cu725b",
                        "home_score":"97",
                        "visit_team":"u9a91u58eb",
                        "visit_score":"95"
                    }]
        },
        {
            "formatDate":"2015-10-29",
            "date":"2015u5e7410u670829u65e5 u661fu671fu56db",
            "list":[
                {
                    "sdate":"2015-10-29",
                    "time":"07:00",
                    "type":"u5e38u89c4u8d5b",
                    "home_team":"u9b54u672f",
                    "home_score":"87",
                    "visit_team":"u5947u624d",
                    "visit_score":"88"
                },{
                    "sdate":"2015-10-29",
                    "time":"07:30",
                    "type":"u5e38u89c4u8d5b",
                    "home_team":"u51efu5c14u7279u4eba",
                    "home_score":"112",
                    "visit_team":"76u4eba",
                    "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());   } }
  • 相关阅读:
    SCILAB
    定积分的scilab程序
    4月26日科目一练习(96分)
    4月27日1科目一练习(90分)
    4月27日科目一练习(93分)
    4月12日科目一练习(91分)
    测试学习网站
    HttpWatch工具简介及使用技巧(转)
    Linux系统资源分析
    LoadRunner监控Linux服务器
  • 原文地址:https://www.cnblogs.com/parryyang/p/5566195.html
Copyright © 2020-2023  润新知