Selena Selena - 1 year ago 77
Java Question

Is there some way to specify a custom deserializer for a type that is nested inside an Optional for Jackson?

I have some types which need to be handled with their own special deserializers and serializers, but how do I instruct Jackson to use them when the type is nested inside an Optional?

I am using the JDK8Module which works great for any type not needing any special handling. The @JsonDeserialize and @JsonSerialize annotations don't seem to have any way to apply to the value inside an Optional when they are used on an Optional field:

Optional<SpecialType> myField

Answer Source

The correct way to accomplish this is:

 Optional<SpecialType> myField

There was a defect that prevented this working which was fixed in 2.7.4.