我有一些类型需要使用它们自己的特殊反序列化器和序列化器来处理,但是当类型嵌套在Optional中时,如何指示Jackson使用它们呢?
我正在使用JDK8Module,它适用于不需要任何特殊处理的任何类型。当将@JsonDeserialize和@JsonSerialize批注用于Optional字段时,似乎没有任何方法可应用于Optional内的值:
@JsonDeserialize(?????) Optional<SpecialType> myField
实现此目的的正确方法是:
@JsonDeserialize(contentUsing=CustomDeserializer.class) Optional<SpecialType> myField
有一个阻止此工作的缺陷已在2.7.4中修复。