问题
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:
@JsonDeserialize(?????)
Optional<SpecialType> myField
回答1:
The correct way to accomplish this is:
@JsonDeserialize(contentUsing=CustomDeserializer.class)
Optional<SpecialType> myField
There was a defect that prevented this working which was fixed in 2.7.4.
来源:https://stackoverflow.com/questions/36114658/is-there-some-way-to-specify-a-custom-deserializer-for-a-type-that-is-nested-ins