|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |
@Target(value={ANNOTATION_TYPE,FIELD,METHOD,PARAMETER,TYPE}) @Retention(value=RUNTIME) public @interface JsonFormat
General-purpose annotation used for configuring details of how values of properties are to be serialized. Unlike most other Jackson annotations, annotation does not have specific universal interpretation: instead, effect depends on datatype of property being annotated (or more specifically, deserializer and serializer being used).
Common uses include choosing between alternate representations -- for example,
whether Date
is to be serialized as number (Java timestamp)
or String (such as ISO-8601 compatible time value) -- as well as configuring
exact details with pattern()
property.
As of Jackson 2.1, known special handling include:
Date
: Shape can be JsonFormat.Shape.STRING
or JsonFormat.Shape.NUMBER
;
pattern may contain SimpleDateFormat
-compatible pattern definition.
Enum
s: Shapes JsonFormat.Shape.STRING
and JsonFormat.Shape.NUMBER
can be
used to change between numeric (index) and textual (name or toString()
);
but it is also possible to use JsonFormat.Shape.OBJECT
to serialize (but not deserialize)
Enum
s as JSON Objects (as if they were POJOs). NOTE: serialization
as JSON Object only works with class annotation;
will not work as per-property annotation.
Collection
s can be serialized as (and deserialized from) JSON Objects,
if JsonFormat.Shape.OBJECT
is used. NOTE: can ONLY be used as class annotation;
will not work as per-property annotation.
Optional Element Summary | |
---|---|
String |
locale
Locale to use for serialization (if needed). |
String |
pattern
Datatype-specific additional piece of configuration that may be used to further refine formatting aspects. |
JsonFormat.Shape |
shape
Structure to use for serialization: definition of mapping depends on datatype, but usually has straight-forward counterpart in data format (JSON). |
String |
timezone
TimeZone to use for serialization (if needed). |
public abstract String pattern
Date
serialization;
however, exact use is determined by specific JsonSerializer
public abstract JsonFormat.Shape shape
public abstract String locale
Locale
to use for serialization (if needed).
Special value of DEFAULT_LOCALE
can be used to mean "just use the default", where default is specified
by the serialization context, which in turn defaults to system
defaults (Locale.getDefault()
) unless explicitly
set to another locale.
public abstract String timezone
TimeZone
to use for serialization (if needed).
Special value of DEFAULT_TIMEZONE
can be used to mean "just use the default", where default is specified
by the serialization context, which in turn defaults to system
defaults (TimeZone.getDefault()
) unless explicitly
set to another locale.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |