次のようなマップがあります。
public class VerbResult {
@JsonProperty("similarVerbs")
private Map<Verb, List<Verb>> similarVerbs;
}
私の動詞クラスは次のようになります。
public class Verb extends Word {
@JsonCreator
public Verb(@JsonProperty("start") int start, @JsonProperty("length") int length,
@JsonProperty("type") String type, @JsonProperty("value") VerbInfo value) {
super(length, length, type, value);
}
//...
}
VerbResult クラスのインスタンスをシリアライズおよびデシリアライズしたいのですが、実行すると次のエラーが発生します。Can not find a (Map) Key deserializer for type [simple type, class my.package.Verb]
マップキーをデシリアライズする方法をジャクソンに伝える必要があることをオンラインで読みましたが、これを行う方法を説明する情報は見つかりませんでした。動詞クラスは、マップの外部でもシリアライズおよびデシリアライズする必要があるため、どのソリューションでもこの機能を維持する必要があります。
ご協力ありがとうございました。