android gson使用

第一步註冊:  compile 'com.google.code.gson:gson:2.6.2'java

第二步初始化:json

 Gson gson = new GsonBuilder()
                            .setLenient()// json寬鬆
                            .enableComplexMapKeySerialization()//支持Map的key爲複雜對象的形式
                            .serializeNulls() //智能null
                            .setPrettyPrinting()// 調教格式
                            .disableHtmlEscaping() //默認是GSON把HTML 轉義的
                            .create();

1.簡單json解析:api

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

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;
	}
}

 解析:this

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());
}

 

複雜一點的jsongoogle

  {  
        "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:code

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);//取值
相關文章
相關標籤/搜索