我有一个简单的数据对象层次结构,必须将其转换为 JSON 格式。像这样:
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "documentType")
@JsonSubTypes({@Type(TranscriptionDocument.class), @Type(ArchiveDocument.class)})
public class Document{
private String documentType;
//other fields, getters/setters
}
@JsonTypeName("ARCHIVE")
public class ArchiveDocument extends Document { ... }
@JsonTypeName("TRANSCRIPTIONS")
public class TranscriptionDocument extends Document { ... }
在解析 JSON 时,我遇到了这样的错误:
Unexpected duplicate key:documentType at position 339.
,因为在生成的 JSON 中实际上有两个documentType
字段。
应该改变什么以使JsonTypeName
值出现在documentType
字段中,没有错误(例如替换其他值)?
杰克逊版本是 2.2