【问题标题】:Gson deserialize and serialize transient fieldGson 反序列化和序列化瞬态场
【发布时间】: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 上序列化该文件。 我怎样才能实现它?

【问题讨论】:

  • 创建一个自定义序列化器来序列化你的类怎么样?

标签: java json gson transient


【解决方案1】:

in the documentation所述:

默认情况下,如果您将字段标记为瞬态,它将被排除。同样,如果一个字段被标记为“静态”,那么默认情况下它将被排除在外。如果要包含一些瞬态字段,则可以执行以下操作:

导入 java.lang.reflect.Modifier;

Gson gson = new GsonBuilder() .excludeFieldsWithModifiers(Modifier.STATIC) .create();

这将从 Gson 序列化中排除 static 字段,但不排除 transientvolatile 字段。

【讨论】:

  • 我无法重新创建它。烦人!
猜你喜欢
  • 1970-01-01
  • 2021-04-22
  • 1970-01-01
  • 2012-10-04
  • 2010-12-27
  • 1970-01-01
  • 2019-01-05
  • 1970-01-01
  • 2015-07-11
相关资源
最近更新 更多