Gson解析的@Expose()注释使用问题

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对象构建是按照网上说的使用,没有效果

阅读 1.4k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题