public class Teacher implements Serializable {
@SerializedName("fullName")
private String name;
private String email;
//@Expose()参与序列化和反序列化
//@Expose(serialize = false)不参与序列化,只参与反序列化
// @Expose(deserialize = false)只参与序列化,不参与反序列化
@Expose(serialize = false,deserialize = false)//序列化和反序列化都不参与
private int age;
private boolean isDeveloper;
public Teacher(String name, String email, int age, boolean isDeveloper) {
this.name = name;
this.email = email;
this.age = age;
this.isDeveloper = isDeveloper;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public boolean isDeveloper() {
return isDeveloper;
}
public void setDeveloper(boolean developer) {
isDeveloper = developer;
}
}
GsonBuilder builder=new GsonBuilder();
builder.excludeFieldsWithoutExposeAnnotation();
Gson gson=builder.create();
Teacher teacher=new Teacher("Rocky","11@qq.com",22,true);
String teacherJson=gson.toJson(teacher);
Log.d("bb",teacherJson);
打印结果
bb {}
使用@Expose注解方式限制一个属性字段的序列化和反序列化结果,确实不能使用
Gson对象构建是按照网上说的使用,没有效果