@Target({ANNOTATION_TYPE,METHOD,FIELD,TYPE,PARAMETER}) @Retention(RUNTIME) public @interface JsonDeserialize
An example annotation would be:
@JsonDeserialize(using=MySerializer.class, as=MyHashMap.class, keyAs=MyHashKey.class, contentAs=MyHashValue.class )
Something to note on usage:
ObjectMapper.configOverride(java.lang.Class<?>)
)
should be targeted at Builder class, not target POJO class.
Modifier and Type | Optional Element | Description |
---|---|---|
Class<?> |
as |
Concrete type to deserialize values as, instead of type otherwise
declared.
|
Class<?> |
builder |
Annotation for specifying if an external Builder class is to
be used for building up deserialized instances of annotated
class.
|
Class<?> |
contentAs |
Concrete type to deserialize content (elements
of a Collection/array, values of Maps) values as,
instead of type otherwise declared.
|
Class<? extends Converter> |
contentConverter |
Similar to
converter() , but used for values of structures types
(List, arrays, Maps). |
Class<? extends JsonDeserializer> |
contentUsing |
Deserializer class to use for deserializing contents (elements
of a Collection/array, values of Maps) of annotated property.
|
Class<? extends Converter> |
converter |
Which helper object (if any) is to be used to convert from Jackson-bound
intermediate type (source type of converter) into actual property type
(which must be same as result type of converter).
|
Class<?> |
keyAs |
Concrete type to deserialize keys of
Map as,
instead of type otherwise declared. |
Class<? extends KeyDeserializer> |
keyUsing |
Deserializer class to use for deserializing Map keys
of annotated property.
|
Class<? extends JsonDeserializer> |
using |
Deserializer class to use for deserializing associated value.
|
Class<? extends JsonDeserializer> using
Class<? extends JsonDeserializer> contentUsing
Class<? extends KeyDeserializer> keyUsing
Class<?> builder
Class<? extends Converter> converter
Class<? extends Converter> contentConverter
converter()
, but used for values of structures types
(List, arrays, Maps).Class<?> as
Bogus type Void
can be used to indicate that declared
type is used as is (i.e. this annotation property has no setting);
this since annotation properties are not allowed to have null value.
Note: if using()
is also used it has precedence
(since it directly specified
deserializer, whereas this would only be used to locate the
deserializer)
and value of this annotation property is ignored.
Class<?> contentAs
Copyright © 2008–2018. All rights reserved.