Gson反序列化设置可选属性

时间:2013-08-27 17:22:21

标签: deserialization gson optional

我有一个场景,我已经将JSON数据序列化并保存到文档存储中。序列化使用GSON完成。现在我已经为已经序列化的类添加了一个额外的属性,所以现在当我尝试反序列化时,我得到一个例外:

com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 1 column 420
    com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:176)
    com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40)
    com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:81)
    com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:60)
    com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:93)
    com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:172)
    com.google.gson.Gson.fromJson(Gson.java:795)
    com.google.gson.Gson.fromJson(Gson.java:761)
    com.google.gson.Gson.fromJson(Gson.java:710)
    com.google.gson.Gson.fromJson(Gson.java:682)

看起来这似乎是由于添加了新的class属性。是否有指定新属性是可选的,以便在这种情况下GSON反序列化可以工作?

0 个答案:

没有答案