zoukankan      html  css  js  c++  java
  • android gson使用

    第一步注册:  compile 'com.google.code.gson:gson:2.6.2'

    第二步初始化:

     Gson gson = new GsonBuilder()
                                .setLenient()// json宽松
                                .enableComplexMapKeySerialization()//支持Map的key为复杂对象的形式
                                .serializeNulls() //智能null
                                .setPrettyPrinting()// 调教格式
                                .disableHtmlEscaping() //默认是GSON把HTML 转义的
                                .create();
    

    1.简单json解析:

     [{username:"arthinking",userId:"001"},{username:"Jason",userId:"002"}];

    public class User {
    	private String username ;
    	private int userId ;
    	public String getUsername() {
    		return username;
    	}
    	public void setUsername(String username) {
    		this.username = username;
    	}
    	public int getUserId() {
    		return userId;
    	}
    	public void setUserId(int userId) {
    		this.userId = userId;
    	}
    }
    

     解析:

    Type listType = new TypeToken<LinkedList<User>>(){}.getType();
    Gson gson = new Gson();
    LinkedList<User> users = gson.fromJson(jsonData, listType);
    for (Iterator iterator = users.iterator(); iterator.hasNext();) {
    	User user = (User) iterator.next();
    	System.out.println(user.getUsername());
    	System.out.println(user.getUserId());
    }
    

    复杂一点的json

      {  
            "data": {  
                "partnerteamlist": [  
                    {  
                        "pteamId": 72825,  
                        "ptitle": "随摄影/共6套服装/准爸准妈共拍/免费肚画/底片全送。",  
                        "pteamprice": 288  
                    },  
                    {  
                        "pteamId": 72598,  
                        "ptitle": "随摄影/拍摄200张/4本相册/品质拍摄/送全新婚纱。",  
                        "pteamprice": 2888  
                    },  
                    {  
                        "pteamId": 72613,  
                        "ptitle": "随摄影/送全新婚纱/多外景拍摄/服装不限数量/绝无二次消费!",  
                        "pteamprice": 3699  
                    },  
                    {  
                        "pteamId": 72638,  
                        "ptitle": "随摄影/服装不限数量/高品质拍摄260张/送全新婚纱。",  
                        "pteamprice": 4299  
                    },  
                    {  
                        "pteamId": 72716,  
                        "ptitle": "随摄影/3组服装造型/内外景拍摄/完全透明消费!",  
                        "pteamprice": 388  
                    }  
                ],  
                "liketeamlist": [  
                    {  
                        "lteamId": 65886,  
                        "ltitle": "爱丽尔婚纱摄影/2本相册/6套服装造型/拍摄不限最低拍摄150张。",  
                        "limage": "http://img.pztuan.com/upfile/team/2013/0712/201307120257551465.jpg",  
                        "lteamprice": 518,  
                        "lmarketprice": 3999  
                    },  
                    {  
                        "lteamId": 57133,  
                        "ltitle": "陶冶摄影/婚纱闺蜜/6组服装造型/拍摄不低于120张!",  
                        "limage": "http://img.pztuan.com/upfile/team/2013/0628/201306281115249737.jpg",  
                        "lteamprice": 580,  
                        "lmarketprice": 3380  
                    }  
                ],  
                "feedbacks": {  
                    "feedbacklist": [  
                        {  
                            "comment": "5分",  
                            "createtime": "2014.07.08 13:38",  
                            "score": 5,  
                            "username": "l***2"  
                        }  
                    ],  
                    "totalcount": 1,  
                    "totalscore": 5  
                }  
            },  
            "err": null,  
            "state": 1  
        }  
    

     解析model:

    import java.util.List;  
          
        public class OtherDetail {  
          
            private int state;  
            private List<err> err;  
            private OtherDetail2 data;  
          
            public int getState() {  
                return state;  
            }  
          
            public void setState(int state) {  
                this.state = state;  
            }  
          
            public List<err> getErr() {  
                return err;  
            }  
          
            public void setErr(List<err> err) {  
                this.err = err;  
            }  
          
            public OtherDetail2 getData() {  
                return data;  
            }  
          
            public void setData(OtherDetail2 data) {  
                this.data = data;  
            }  
          
            public class OtherDetail2 {  
                private List<partnerteamlist> partnerteamlist;  
                private List<liketeamlist> liketeamlist;  
                private List<feedbacks> feedbacks;  
          
                public List<liketeamlist> getLiketeamlist() {  
                    return liketeamlist;  
                }  
          
                public void setLiketeamlist(List<liketeamlist> liketeamlist) {  
                    this.liketeamlist = liketeamlist;  
                }  
          
                public List<feedbacks> getFeedbacks() {  
                    return feedbacks;  
                }  
          
                public void setFeedbacks(List<feedbacks> feedbacks) {  
                    this.feedbacks = feedbacks;  
                }  
          
                public class partnerteamlist {  
                    private int pteamId;  
                    private String ptitle;  
                    private Double pteamprice;  
          
                    public int getPteamId() {  
                        return pteamId;  
                    }  
          
                    public void setPteamId(int pteamId) {  
                        this.pteamId = pteamId;  
                    }  
          
                    public String getPtitle() {  
                        return ptitle;  
                    }  
          
                    public void setPtitle(String ptitle) {  
                        this.ptitle = ptitle;  
                    }  
          
                    public Double getPteamprice() {  
                        return pteamprice;  
                    }  
          
                    public void setPteamprice(Double pteamprice) {  
                        this.pteamprice = pteamprice;  
                    }  
          
                }  
          
                public class liketeamlist {  
                    private int lteamId;  
                    private String ltitle;  
                    private String limage;  
                    private Double lteamprice;  
                    private Double lmarketprice;  
          
                    public int getLteamId() {  
                        return lteamId;  
                    }  
          
                    public void setLteamId(int lteamId) {  
                        this.lteamId = lteamId;  
                    }  
          
                    public String getLtitle() {  
                        return ltitle;  
                    }  
          
                    public void setLtitle(String ltitle) {  
                        this.ltitle = ltitle;  
                    }  
          
                    public String getLimage() {  
                        return limage;  
                    }  
          
                    public void setLimage(String limage) {  
                        this.limage = limage;  
                    }  
          
                    public Double getLteamprice() {  
                        return lteamprice;  
                    }  
          
                    public void setLteamprice(Double lteamprice) {  
                        this.lteamprice = lteamprice;  
                    }  
          
                    public Double getLmarketprice() {  
                        return lmarketprice;  
                    }  
          
                    public void setLmarketprice(Double lmarketprice) {  
                        this.lmarketprice = lmarketprice;  
                    }  
                }  
          
                public class feedbacks {  
                    private int totalcount;  
                    private Double totalscore;  
                    private List<feedbacklist> feedbacklist;  
          
                    public int getTotalcount() {  
                        return totalcount;  
                    }  
          
                    public void setTotalcount(int totalcount) {  
                        this.totalcount = totalcount;  
                    }  
          
                    public Double getTotalscore() {  
                        return totalscore;  
                    }  
          
                    public void setTotalscore(Double totalscore) {  
                        this.totalscore = totalscore;  
                    }  
          
                    public List<feedbacklist> getFeedbacklist() {  
                        return feedbacklist;  
                    }  
          
                    public void setFeedbacklist(List<feedbacklist> feedbacklist) {  
                        this.feedbacklist = feedbacklist;  
                    }  
          
                    public class feedbacklist {  
                        private String username;  
                        private String comment;  
                        private String createtime;  
                        private Double score;  
          
                        public String getUsername() {  
                            return username;  
                        }  
          
                        public void setUsername(String username) {  
                            this.username = username;  
                        }  
          
                        public String getComment() {  
                            return comment;  
                        }  
          
                        public void setComment(String comment) {  
                            this.comment = comment;  
                        }  
          
                        public String getCreatetime() {  
                            return createtime;  
                        }  
          
                        public void setCreatetime(String createtime) {  
                            this.createtime = createtime;  
                        }  
          
                        public Double getScore() {  
                            return score;  
                        }  
          
                        public void setScore(Double score) {  
                            this.score = score;  
                        }  
          
                    }  
                }  
          
                public List<partnerteamlist> getPartnerteamlist() {  
                    return partnerteamlist;  
                }  
          
                public void setPartnerteamlist(List<partnerteamlist> partnerteamlist) {  
                    this.partnerteamlist = partnerteamlist;  
                }  
            }  
          
            public class err {  
                private int code;  
                private String msg;  
          
                public int getCode() {  
                    return code;  
                }  
          
                public void setCode(int code) {  
                    this.code = code;  
                }  
          
                public String getMsg() {  
                    return msg;  
                }  
          
                public void setMsg(String msg) {  
                    this.msg = msg;  
                }  
            }  
        }  
    

    gson使用

     Gson gson = new Gson();  
        OtherDetail d = gson.fromJson(jsonString,Detail.class);//取值
    
  • 相关阅读:
    java高级语法4:集合
    java高级语法3:异常和注解
    Java高级语法2:Lambda表达式
    VS编译时卡在正在从以下位置加载xxx.dll符号
    mysql中的外键
    localhost和127.0.0.1的区别
    添加依赖项
    代码版本控制——TFS
    优化版冒泡排序
    visual studio vode 汉化
  • 原文地址:https://www.cnblogs.com/hualuoshuijia/p/7124966.html
Copyright © 2011-2022 走看看