1

我有一个场景,我将 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)

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

4

0 回答 0