Package org.codehaus.jackson.annotate
Annotation Interface JsonUnwrapped
Annotation used to indicate that a property should be serialized
"unwrapped"; that is, if it would be serialized as JSON Object, its
properties are instead included as properties of its containing
Object. For example, consider case of POJO like:
public class Parent { public int age; public Name name; } public class Name { public String first, last; }which would normally be serialized as follows (assuming @JsonUnwrapped had no effect):
{ "age" : 18, "name" : { "first" : "Joey", "last" : "Sixpack" } }can be changed to this:
{ "age" : 18, "first" : "Joey", "last" : "Sixpack" }by changing Parent class to:
public class Parent { public int age; \@JsonUnwrapped public Name name; }Annotation can only be added to properties, and not classes, as it is contextual.
Also note that annotation only applies if
- Value is serialized as JSON Object
- Serialization is done using
BeanSerializer
, not a custom serializer - No type information is added; if type information needs to be added, structure can not be altered regardless of inclusion strategy; so annotation is basically ignored.
- Since:
- 1.9
-
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionboolean
Property that is usually only used when overriding (masking) annotations, using mix-in annotations.
-
Element Details
-
enabled
boolean enabledProperty that is usually only used when overriding (masking) annotations, using mix-in annotations. Otherwise default value of 'true' is fine, and value need not be explicitly included.- Default:
- true
-