com.fasterxml.jackson.annotation
Annotation Type JsonUnwrapped


@Target(value={ANNOTATION_TYPE,FIELD,METHOD,PARAMETER})
@Retention(value=RUNTIME)
public @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


Optional Element Summary
 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.
 

enabled

public abstract boolean enabled
Property 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

prefix

public abstract 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.

Default:
""

suffix

public abstract 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.

Default:
""


Copyright © 2012 fasterxml.com. All Rights Reserved.