我想知道如果@JsonTypeInfo
注释可以用于接口。我有一系列应该被序列化和反序列化的类。杰克逊注释中的多态性:@JsonTypeInfo用法
这是我想要做的。我有两个实现类Sub1
,Sub2
实施MyInt
。某些模型类具有实现类型的接口引用。我想反序列化对象基于多态性
@JsonTypeInfo(use=JsonTypeInfo.Id.NAME, include=As.WRAPPER_OBJECT)
@JsonSubTypes({
@Type(name="sub1", value=Sub1.class),
@Type(name="sub2", value=Sub2.class)})
public interface MyInt{
}
@JsonTypeName("sub1")
public Sub1 implements MyInt{
}
@JsonTypeName("sub2")
public Sub2 implements MyInt{
}
我得到以下JsonMappingException
:
意外令牌(END_OBJECT),预计FIELD_NAME:需要JSON字符串 包含类型ID
你看到了吗? http://jackson-users.ning.com/forum/topics/mapper-not-include-type-information-when-serializing-object-why?xg_source=activity你有没有提及类型的任何列表像在其他讨论线? – 2012-08-04 04:44:17
我认为你需要展示更多的代码(如何进行序列化,反序列化)以及生成/消费JSON。 – StaxMan 2012-08-04 17:58:55