使用 Jackson 反序列化非字符串映射键
我有一张地图,看起来像这样:
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]
我在网上读到,你需要告诉杰克逊如何反序列化地图键,但我没有找到任何解释如何执行此操作的信息。动词类也需要在映射外部进行序列化和反序列化,因此任何解决方案都应保留此功能。
感谢您的帮助。