转帖请注明本文出自weimeig的博客(https://blog.youkuaiyun.com/weimeig/article/details/80251365),请尊重他人的辛勤劳动成果,谢谢
添加依赖
build.gradle
dependencies {
compile 'com.google.code.gson:gson:2.4'
}
右上角Sync Now
初步入门案例1:
定义模拟的需要解析的数据
String cniao = "{\n" +
"\"sites\": [\n" +
"{ \"name\":\"菜鸟教程\" , \"url\":\"m.runoob.com\" }, \n" +
"{ \"name\":\"google\" , \"url\":\"www.google.com\" }, \n" +
"{ \"name\":\"微博\" , \"url\":\"www.weibo.com\" }\n" +
"]\n" +
"}";
定义存放被解析的数据的实体类对象
cainiao.java
/**
* 存放被解析的数据的实体类对象
* cainiao.java
*/
public static class cainiao{
private List<SitesBean> sites;
public List<SitesBean> getSites() {
return sites;
}
public void setSites(List<SitesBean> sites) {
this.sites = sites;
}
public static class SitesBean {
private String name;
private String url;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
}
}
数据解析
//参数1:网络请求所返还的需要解析的数据对象,参数2:要把数据解析到的实体类对象
cainiao st= new Gson().fromJson(cniao,cainiao.class);
强化练习案例2:
定义模拟的需要解析的数据String login = "{\n" +
" \"code\": \"200\",\n" +
" \"info\": \"登录成功\",\n" +
" \"data\": {\n" +
" \"userId\": \"10000\",\n" +
" \"userName\": \"刘德华\",\n" +
" \"userDeteilInfo\": {\n" +
" \"sex\": \"男\"\n" +
" }\n" +
" }\n" +
"}\n";
定义存放被解析的数据的实体类对象
public static class Login{
private String code;
private String info;
private DataBean data;
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getInfo() {
return info;
}