使用GSON在序列化JSON中键入信息

时间:2013-04-25 11:20:00

标签: java json serialization deserialization gson

使用Jackson我们可以选择将类型信息附加到序列化对象(http://jackson.codehaus.org/1.5.5/javadoc/org/codehaus/jackson/annotate/JsonTypeInfo.html)。

有没有办法使用GSON这样做:

{
    propertyName:"test",
    _className:"foo.bar.TestClass"
}

我们的想法是让它具有通用性,因此当反序列化ArrayList<Object>时,会使用它恢复正确的对象实例。

我看到了这个问题:https://stackoverflow.com/a/8683689/1001027或多或少是我需要的,但它仅适用于特定类别的对象。如何以一种通用的方式实现,每个对象都将使用此属性进行序列化?

1 个答案:

答案 0 :(得分:0)

您需要实现反序列化器,它将查看type属性并将对象强制转换为给定类型。我相信,没有别的办法了。

查看javadoc,实现此界面可能就是您的答案。