Annotation Interface JsonPropertyOrder


@Target({ANNOTATION_TYPE,TYPE,METHOD,CONSTRUCTOR,FIELD}) @Retention(RUNTIME) public @interface JsonPropertyOrder
Annotation that can be used to define ordering (possibly partial) to use when serializing object properties. Properties included in annotation declaration will be serialized first (in defined order), followed by any properties not included in the definition. Annotation definition will override any implicit orderings (such as guarantee that Creator-properties are serialized before non-creator properties)

Examples:

  // ensure that "id" and "name" are output before other properties
  @JsonPropertyOrder({ "id", "name" })
  // order any properties that don't have explicit setting using alphabetic order
  @JsonPropertyOrder(alphabetic=true)

This annotation may or may not have effect on deserialization: for basic JSON handling there is no effect, but for other supported data types (or structural conventions) there may be.

NOTE: annotation is allowed for properties, starting with 2.4, mostly to support alphabetic ordering of Map entries.

  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    boolean
    Property that defines what to do regarding ordering of properties not explicitly included in annotation instance.
    Order in which properties of annotated object are to be serialized in.
  • Element Details

    • value

      String[] value
      Order in which properties of annotated object are to be serialized in.
      Default:
      {}
    • alphabetic

      boolean alphabetic
      Property that defines what to do regarding ordering of properties not explicitly included in annotation instance. If set to true, they will be alphabetically ordered; if false, order is undefined (default setting)
      Default:
      false