@Target(value={ANNOTATION_TYPE,FIELD,METHOD,PARAMETER}) @Retention(value=RUNTIME) public @interface JsonUnwrapped
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
BeanSerializer, not a custom serializer
| Modifier and Type | Optional Element and Description |
|---|---|
boolean |
enabled
Property that is usually only used when overriding (masking) annotations,
using mix-in annotations.
|
String |
prefix
Optional property that can be used to add prefix String to use in front
of names of properties that are unwrapped: this can be done for example to prevent
name collisions.
|
String |
suffix
Optional property that can be used to add suffix String to append at the end
of names of properties that are unwrapped: this can be done for example to prevent
name collisions.
|
public abstract boolean enabled
public abstract String prefix
public abstract String suffix
Copyright © 2008–2016 FasterXML. All rights reserved.