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 には実際には 2 つのdocumentType
フィールドがあるためです。
エラーなしでフィールドにJsonTypeName
値が表示されるようにするには、何を変更する必要がありますか (他の値を置き換えるなど)?documentType
ジャクソンのバージョンは 2.2