@Target(value={ANNOTATION_TYPE,FIELD,METHOD,PARAMETER}) @Retention(value=RUNTIME) public @interface JsonProperty
Default value ("") indicates that the field name is used as the property name without any modifications, but it can be specified to non-empty value to specify different name. Property name refers to name used externally, as the field name in JSON objects.
 Starting with Jackson 2.6 this annotation may also be
 used to change serialization of Enum like so:
public enum MyEnum {
     @JsonProperty("theFirstValue") THE_FIRST_VALUE,
     @JsonProperty("another_value") ANOTHER_VALUE;
}
 as an alternative to using JsonValue annotation.| Modifier and Type | Fields and Description | 
|---|---|
| static int | INDEX_UNKNOWNMarker value used to indicate that no index has been specified. | 
| static String | USE_DEFAULT_NAMESpecial value that indicates that handlers should use the default
 name (derived from method or field name) for property. | 
| Modifier and Type | Optional Element and Description | 
|---|---|
| JsonProperty.Access | accessOptional property that may be used to change the way visibility of
 accessors (getter, field-as-getter) and mutators (contructor parameter,
 setter, field-as-setter) is determined, either so that otherwise
 non-visible accessors (like private getters) may be used; or that
 otherwise visible accessors are ignored. | 
| String | defaultValueProperty that may be used to document expected default value
 for the property: most often used as source information for generating
 schemas (like JSON Schema or protobuf/thrift schema), or documentation. | 
| int | indexProperty that indicates numerical index of this property (relative
 to other properties specified for the Object). | 
| boolean | requiredProperty that indicates whether a value (which may be explicit
 null) is expected for property during deserialization or not. | 
| String | valueDefines name of the logical property, i.e. | 
public static final String USE_DEFAULT_NAME
public static final int INDEX_UNKNOWN
public abstract String value
public abstract boolean required
BeanDeserialized should indicate
 this as a validity problem (usually by throwing an exception,
 but this may be sent via problem handlers that can try to
 rectify the problem, for example, by supplying a default
 value).
Note that as of 2.6, this property is only used for Creator Properties, to ensure existence of property value in JSON: for other properties (ones injected using a setter or mutable field), no validation is performed. Support for those cases may be added in future. State of this property is exposed via introspection, and its value is typically used by Schema generators, such as one for JSON Schema.
public abstract int index
public abstract String defaultValue
 It is possible that in future this annotation could be used for value
 defaulting, and especially for default values of Creator properties,
 since they support required() in 2.6 and above.
public abstract JsonProperty.Access access
 Default value os JsonProperty.Access.AUTO which means that access is determined
 solely based on visibility and other annotations.
Copyright © 2018 JBoss by Red Hat. All rights reserved.