Package com.fasterxml.jackson.annotation
Annotation Type JsonDeserializeAs
-
@Target({ANNOTATION_TYPE,METHOD,FIELD,TYPE,PARAMETER}) @Retention(RUNTIME) public @interface JsonDeserializeAsAnnotation to indicate override of deserialization target type; a more specialized type (sub-type) than declared one. Can be used on types (Classes) or on properties (property accessors like "getters", "setters" and constructor parameters). Overrides can apply to:valueitself (for all types and properties)contentof structured types (array andCollectionelements;Mapvalues)keys ofMaps
To indicate that no override is to be used,
Void.classis used as the marker (will use declared type) -- this is necessary as Annotation properties cannot havenullvalues.Example usage:
public class POJO { @JsonDeserializeAs(ValueImpl.class) public Value value; @JsonDeserializeAs(keys = KeyEnum.class, content = ValueImpl.class) public Map<Object, Object> props; }
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description java.lang.Class<?>contentType to deserialize content entries (array andCollectionelements,Mapvalues) as, instead of type declared.java.lang.Class<?>keysType to deserializeMapkeys as, instead of type declared.java.lang.Class<?>valueType to deserialize values as, instead of type declared.
-
-
-
Element Detail
-
value
java.lang.Class<?> value
Type to deserialize values as, instead of type declared. Must be a sub-type of declared type; otherwise an exception may be thrown by deserializer.Bogus type
Voidis used to indicate that declared type is used as-is (i.e. this annotation property has no setting).- Default:
- java.lang.Void.class
-
-
-
content
java.lang.Class<?> content
Type to deserialize content entries (array andCollectionelements,Mapvalues) as, instead of type declared. Must be a sub-type of declared type; otherwise an exception may be thrown by deserializer.Bogus type
Voidis used to indicate that declared type is used as-is (i.e. this annotation property has no setting).- Default:
- java.lang.Void.class
-
-
-
keys
java.lang.Class<?> keys
Type to deserializeMapkeys as, instead of type declared. Must be a sub-type of declared type; otherwise an exception may be thrown by deserializer.Bogus type
Voidis used to indicate that declared type is used as-is (i.e. this annotation property has no setting).- Default:
- java.lang.Void.class
-
-