Skip to content

JacksonRelease1.4

Kim, Joo Hyuk edited this page Oct 12, 2023 · 3 revisions

Jackson Release: 1.4

Jackson 1.4 was released on December 19th 2009.

It is classified as a "minor" update over JacksonRelease13, since it will be fully backwards compatible (hence not a "major" version bump), but will introduce new features (hence not a "patch" release).

Main focus of this release is on improving serialization side, to allow users to configure details of serialization. Secondary focus is on inter-operability, trying to ensure Jackson works well with as many other libraries, platforms and JVM languages as possible (as per user reports).

Following is the list of functionality that has been implemented for this release.

Implemented features

Implemented: major

Implemented: minor

  • http://jira.codehaus.org/browse/JACKSON-77 Add @JsonIgnoreProperties class annotation that allows ignoring properties for serialization and deserialization, such that
  • JsonIgnoreProperties.value can be used to enumerate names of properties to explicitly ignore (not write out when serializing; ignore if seen during deeserialization)
  • JsonIgnoreProperties.ignoreUnknown can be used to specify that any unrecognized properties are to be skipped (without exception) when deserializing instances of annotated class (has no effect on serialization)
  • Related change, http://jira.codehaus.org/browse/JACKSON-89 will implicitly add @JsonIgnore'd Setter/Creator properties as properties to quietly ignore during deserialization (if no explicit handling defined)
  • http://jira.codehaus.org/browse/JACKSON-90 Add @JsonPropertyOrder class annotation for specifying serialization order of properties.
  • @JsonPropertyOrder.value can be used to explicitly specify first properties to serialize; this can be partial ordering, and properties other than listed will be serialized after properties listed.
  • @JsonPropertyOrder.alphabetic can be used to specify that properties that are not explicitly specified should be ordered alphabetically
  • Related change, http://jira.codehaus.org/browse/JACKSON-170 adds further implicit ordering such that in absence of explicit ordering, Creator properties (parameters to constructors and factory methods) are to be ordered before other properties (this also has precedence over alphabetic ordering)
  • http://jira.codehaus.org/browse/JACKSON-192 Add delegate implementations for JsonParser and JsonGenerator (org.codehaus.jackson.util.JsonParserDelegate / JsonGeneratorDelegate) for easier overriding of low-level read/write functionality. Can be used, for example, for filtering out specific fields (override JsonParser.nextToken() to skip select fields with values).
  • http://jira.codehaus.org/browse/JACKSON-201 Handle "empty beans" (ones with no getters) without exceptions if there are recognized class annotations; or if SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS is enabled.

Implemented: interoperability

Some features specifically target interoperability (make Jackson easier to integrate with other packages, platforms):

Planned features

Deferred

Following features were initially planned to be included but were deferred for subsequent releases:

  • http://jira.codehaus.org/browse/JACKSON-175: Create efficient TokenBuffer class for storing JSON document fragments; change ObjectMapper.convertValue() to use it. Also needed for future Polymorphic Deserialization feature.

CategoryJackson

Clone this wiki locally