Gson的用法实例
JSON字符串解析成对象
JSON字符串
{
“mailNo”: “12345678”,
“orgCode”: “315005”
}NameReq 代码
public class NameReq {
private String mailNo; //运单号
private String orgCode; //机构代码
public String getMailNo() {
return mailNo;
}
public void setMailNo(String mailNo) {
this.mailNo = mailNo;
}
public String getOrgCode() {
return orgCode;
}
public void setOrgCode(String orgCode) {
this.orgCode = orgCode;
}
}
解析代码
NameReq nameReq = gson.fromJson(body, NameReq.class);
JSON字符串解析成集合
JSON字符串
[{
"monthStartDay": "2018-04-01 00:00:00",
"monthEndDay": "2018-04-30 23:23:00"
}, {
"monthStartDay": "2018-05-01 00:00:00",
"monthEndDay": "2018-05-31 23:23:00"
}]
DispatchParameter代码
public class DispatchParameter implements Serializable {
private String sitename;// 网点名称
private String username;// 业务员名称
private String monthStartDay;// 每月的开始日期
private String monthEndDay;// 每月的结束日期
public String getSitename() {
return sitename;
}
public void setSitename(String sitename) {
this.sitename = sitename;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getMonthStartDay() {
return monthStartDay;
}
public void setMonthStartDay(String monthStartDay) {
this.monthStartDay = monthStartDay;
}
public String getMonthEndDay() {
return monthEndDay;
}
public void setMonthEndDay(String monthEndDay) {
this.monthEndDay = monthEndDay;
}
public DispatchParameter(String sitename, String username, String monthStartDay, String monthEndDay) {
super();
this.sitename = sitename;
this.username = username;
this.monthStartDay = monthStartDay;
this.monthEndDay = monthEndDay;
}
}
解析代码
Gson gson = new Gson();
List
reList = gson.fromJson(monthArray, new TypeToken<List<DispatchParameter> >(){ }.getType());
匿名内部类
概念:即内部类的简化写法
前提:存在一个类(可以是具体类也可以是抽象类)或接口
格式:new 父类名或父接口名{可重写的方法}
本质:创建的是继承了类或实现了接口的子类匿名对象
/** * 定义了一个继承TypeToken的匿名内部类 */
Type type=new TypeToken<List<Integer>>() { }.getType();
Maven坐标
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.2</version>
</dependency>
还没有评论,来说两句吧...