Gson 反序列化和序列化瞬态场
Posted
技术标签:
【中文标题】Gson 反序列化和序列化瞬态场【英文标题】:Gson deserialize and serialize transient field 【发布时间】:2015-10-18 15:06:15 【问题描述】:我有以下 Pojo 类与一个字段瞬态:
public class User implements Serializable
public static final long serialVersionUID = 1L;
public String name;
transient public UserSession[] bookings;
我希望使用 Gson 库对瞬态文件进行序列化和反序列化,但不希望在 File 上序列化该文件。 我怎样才能实现它?
【问题讨论】:
创建一个自定义序列化器来序列化你的类怎么样? 【参考方案1】:如in the documentation所述:
默认情况下,如果您将字段标记为瞬态,它将被排除。同样,如果一个字段被标记为“静态”,那么默认情况下它将被排除在外。如果要包含一些瞬态字段,则可以执行以下操作:
导入 java.lang.reflect.Modifier;
Gson gson = new GsonBuilder() .excludeFieldsWithModifiers(Modifier.STATIC) .create();
这将从 Gson 序列化中排除 static
字段,但不排除 transient
和 volatile
字段。
【讨论】:
我无法重新创建它。烦人!以上是关于Gson 反序列化和序列化瞬态场的主要内容,如果未能解决你的问题,请参考以下文章