Package com.fasterxml.jackson.annotation

# Annotation Type JsonIgnoreProperties

@Target({ANNOTATION_TYPE,TYPE,METHOD,CONSTRUCTOR,FIELD}) @Retention(RUNTIME) public @interface JsonIgnoreProperties
Annotation that can be used to either suppress serialization of properties (during serialization), or ignore processing of JSON properties read (during deserialization).

Example:

     // to prevent specified fields from being serialized or deserialized
     // (i.e. not include in JSON output; or being set even if they were included)
     @JsonIgnoreProperties({ "internalId", "secretKey" })
     // To ignore any unknown properties in JSON input without exception:
     @JsonIgnoreProperties(ignoreUnknown=true)

Annotation can be applied both to classes and to properties. If used for both, actual set will be union of all ignorals: that is, you can only add properties to ignore, not remove or override. So you can not remove properties to ignore using per-property annotation.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`JsonIgnoreProperties.Value`
Helper class used to contain information from a single `JsonIgnoreProperties` annotation, as well as to provide possible overrides from non-annotation sources.

## Optional Element Summary

Optional Elements
Modifier and Type
Optional Element
Description
`boolean`
`allowGetters`
Property that can be enabled to allow "getters" to be used (that is, prevent ignoral of getters for properties listed in `value()`).
`boolean`
`allowSetters`
Property that can be enabled to allow "setters" to be used (that is, prevent ignoral of setters for properties listed in `value()`).
`boolean`
`ignoreUnknown`
Property that defines whether it is ok to just ignore any unrecognized properties during deserialization.
`String[]`
`value`
Names of properties to ignore.

## Element Details

### value

String[] value
Names of properties to ignore.

Default:
  `{}`

### ignoreUnknown

boolean ignoreUnknown
Property that defines whether it is ok to just ignore any unrecognized properties during deserialization. If true, all properties that are unrecognized -- that is, there are no setters or creators that accept them -- are ignored without warnings (although handlers for unknown properties, if any, will still be called) without exception.

Does not have any effect on serialization.

Returns:
  True if any and all unknown properties are to be ignored without exceptions (or other special handling); false otherwise.

Default:
  `false`

### allowGetters

boolean allowGetters
Property that can be enabled to allow "getters" to be used (that is, prevent ignoral of getters for properties listed in `value()`). This is commonly set to support defining "read-only" properties; ones for which there is a getter, but no matching setter: in this case, properties should be ignored for deserialization but NOT serialization. Another way to think about this setting is that setting it to `true` will "disable" ignoring of getters.

Default value is `false`, which means that getters with matching names will be ignored.

Returns:
  True if getters should be allowed (i.e. NOT ignored); false if getters are to be ignored
Since:
  2.6

Default:
  `false`

### allowSetters

boolean allowSetters
Property that can be enabled to allow "setters" to be used (that is, prevent ignoral of setters for properties listed in `value()`). This could be used to specify "write-only" properties; ones that should not be serialized out, but that may be provided in for deserialization. Another way to think about this setting is that setting it to `true` will "disable" ignoring of setters.

Default value is `false`, which means that setters with matching names will be ignored.

Returns:
  True if setters should be allowed (i.e. NOT ignored); false if setters are to be ignored
Since:
  2.6

Default:
  `false`