@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
註解標識的屬性。