@Expose
注解可以标明哪些字段进行序列化
例子
User 类
可以看见
name
属性 被@Expose
修饰
class User {
@Expose
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
示例 1
创建普通的 Gson
Gson gson1 = new GsonBuilder().create();
User user1 = new User();
user1.setName("yuan");
user1.setAge(15);
System.out.println("user1 = " + gson1.toJson(user1));
输出
user1 = {"name":"yuan","age":15}
示例2
创建
excludeFieldsWithoutExposeAnnotation
Gson
Gson gson2 = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
User user2 = new User();
user2.setName("ming");
user2.setAge(18);
System.out.println("user2 = " + gson2.toJson(user2));
输出
user2 = {"name":"ming"}
结果
如果创建 excludeFieldsWithoutExposeAnnotation
的 Gson
,那么只解析 @Expose
注解标识的属性。