package com.soft.entity;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.annotations.Expose;
public class StuGsonAnnotation {
//deserialize (boolean) 反序列化 默认 true
// serialize (boolean) 序列化 默认 true
@Expose
private String username;
@Expose(serialize = false, deserialize = true)
private String password;
@Expose(serialize = true, deserialize = false)
private String school;
private String classroom;
@Expose(serialize = false)
private String sex;
public StuGsonAnnotation() {
super();
}
public StuGsonAnnotation(String username, String password, String school,
String classroom, String sex) {
super();
this.username = username;
this.password = password;
this.school = school;
this.classroom = classroom;
this.sex = sex;
}
public String getUsername() {
return username;
}
public String getPassword() {
return password;
}
public String getSchool() {
return school;
}
public String getClassroom() {
return classroom;
}
public String getSex() {
return sex;
}
public void setUsername(String username) {
this.username = username;
}
public void setPassword(String password) {
this.password = password;
}
public void setSchool(String school) {
this.school = school;
}
public void setClassroom(String classroom) {
this.classroom = classroom;
}
public void setSex(String sex) {
this.sex = sex;
}
@Override
public String toString() {
String resultString = "";
resultString += "username:" + username + "\tpassword:" + password
+ "\tschool:" + school + "\tclassroom:" + classroom + "\tsex:"
+ sex ;
return resultString;
}
private String serial1() {
Gson gson1 = new Gson();
StuGsonAnnotation gsonBuilderBeanOne = new StuGsonAnnotation("144","123", "华软", "软工五班", "男");
return gson1.toJson(gsonBuilderBeanOne);
}
private String deserial1() {
Gson gson1 = new Gson();
String jsonString = "{'username':'144','password':'123','school':'华软','classroom':'软工五班','sex':'男'}";
StuGsonAnnotation beanOne = gson1.fromJson(jsonString, StuGsonAnnotation.class);
return beanOne.toString();
}
private String serial2() {
//创建Gson对象,没有@Expose注释的属性将不会被序列化
Gson gson2 = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
StuGsonAnnotation gsonBuilderBeanOne = new StuGsonAnnotation("144","123", "华软", "软工五班", "男");
return gson2.toJson(gsonBuilderBeanOne);
}
private String deserial2() {
Gson gson2 = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
String jsonString = "{'username':'144','password':'123','school':'华软','classroom':'软工五班','sex':'男'}";
StuGsonAnnotation beanOne = gson2.fromJson(jsonString, StuGsonAnnotation.class);
return beanOne.toString();
}
public static void main(String[] args) {
System.out.println(new StuGsonAnnotation().serial1());
System.out.println(new StuGsonAnnotation().serial2());
System.out.println(new StuGsonAnnotation().deserial1());
System.out.println(new StuGsonAnnotation().deserial2());
}
}
测试结果
Gson序列化测试
最新推荐文章于 2018-07-12 14:11:54 发布