我相信大家一定听过Gson或者去了解过Gson,所以在这就不说Gson是干什么的了。但应该还是人没去用过,之前我在网上看一些文章,感觉文章的作者复杂化了,看的我晕晕的。后来,自己动手去试了一下,很简单。下面以一个简单的例子说明,估计大家看了都懂了。
(PS:不知道怎么插入代码片段)
//信息类,所有的属性一定都要set/get方法
public class Info {
private String username;//用户名
private String realName;//真实姓名
private String unitId;//...
private String mobile;//...
private String officeLine;//...
private String officeFax;//...
private String qq;//...
private String email;//...
private String remark;//...
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getRealName() {
return realName;
}
public void setRealName(String realName) {
this.realName = realName;
}
public String getUnitId() {
return unitId;
}
public void setUnitId(String unitId) {
this.unitId = unitId;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getOfficeLine() {
return officeLine;
}
public void setOfficeLine(String officeLine) {
this.officeLine = officeLine;
}
public String getOfficeFax() {
return officeFax;
}
public void setOfficeFax(String officeFax) {
this.officeFax = officeFax;
}
public String getQq() {
return qq;
}
public void setQq(String qq) {
this.qq = qq;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
}
//用户信息,除了个人信息,可能还包括一些其它信息。
import java.util.List;
public class UserInfo {
private String token;
private Info info;
//这里特别加了个数组,以说明Json数据里如果有数据组,怎么解释
//设置有list就行了。
private List<Info> infos;
public List<Info> getInfos() {
return infos;
}
public void setInfos(List<Info> infos) {
this.infos = infos;
}
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
public Info getInfo() {
return info;
}
public void setInfo(Info info) {
this.info = info;
}
}
//主函数
import java.util.ArrayList;
import java.util.List;
import com.google.gson.Gson;
public class GsonDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
UserInfo user = new UserInfo();//初始化
//以下是为实体类里每个属性赋值
user.setToken("hhhhhhh");
Info info = new Info();
info.setEmail("ddd");
info.setMobile("2222");
info.setOfficeFax("3333");
info.setOfficeLine("4444");
info.setQq("3333");
info.setRealName("dddd");
info.setRemark("3333");
info.setUnitId("3333");
info.setUsername("7777");
user.setInfo(info);
List<Info> infos = new ArrayList<Info>();
infos.add(info);
infos.add(info);
user.setInfos(infos);
Gson gson = new Gson();
String json = gson.toJson(user);//把上面初始化的实体类转成Json字符串
System.out.println(json);
UserInfo u = gson.fromJson(json, UserInfo.class);//把Json字符串转成实体类,实体类里,已经包含信息
System.out.println(u.getInfo().getUsername());
}
}