Java Json-区分具有相同属性的不同类
我目前面临以下问题: 假设我有一个用于过滤特定实体的抽象类Java Json-区分具有相同属性的不同类,java,json,serialization,Java,Json,Serialization,我目前面临以下问题: 假设我有一个用于过滤特定实体的抽象类A。 所以我有一个PassThroughFilter扩展a,它什么都不做(NIL元素)。通过decorator模式,我有了另一个抽象类a_Dec,它保存属性type。此外,我有B和C两个类,它们都扩展了A_Dec。它们使用类型处理各种事情,因此它们在逻辑上是不同的。 然后,示例过滤器可以是:C(type=XC,decorator=B(type=XB,decorator=A)) 不是我想创建一个JSON保存到当前过滤器。这很容易做到,但是
A
。
所以我有一个PassThroughFilter
扩展a
,它什么都不做(NIL元素)。通过decorator模式,我有了另一个抽象类a_Dec
,它保存属性type
。此外,我有B
和C
两个类,它们都扩展了A_Dec
。它们使用类型
处理各种事情,因此它们在逻辑上是不同的。
然后,示例过滤器可以是:C(type=XC,decorator=B(type=XB,decorator=A))
不是我想创建一个JSON保存到当前过滤器。这很容易做到,但是
对于JSON:
{type=X, decorator={}}
其中,{}
表示A
我无法区分B
和C
一个简单的解决方法是创建一个具有类名称或其他唯一名称的局部变量。但是有没有合适的方法来处理这个问题呢
提前谢谢你 尝试使用
Jackson
库中的JsonTypeInfo
和JsonSubTypes
注释。请参阅:,因为我没有使用Jackson,但Gson无法使用注释。但还是要谢谢你!如果您正在为Gson
寻找解决方案,请查看,尤其是TypeAwareListJsonAdapter
类。