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