Jackson: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 51: Line 51:
==<span id='Data_Binding'></span>Simple Data Binding==
==<span id='Data_Binding'></span>Simple Data Binding==


Jackson extracts data from JSON and initializes an in-memory Java Map/List/String/Number/Boolean/null hierarchy. Jackson specialized data representation types such as [[Jackson_Tree_Model#JsonNode|JsonNode]] are not used.
Jackson extracts data from JSON and initializes an in-memory Java <tt>Map</tt>/<tt>List</tt>/<tt>String</tt>/<tt>Number</tt>/<tt>Boolean</tt>/<tt>null</tt> hierarchy. Jackson specialized data representation types such as [[Jackson_Tree_Model#JsonNode|JsonNode]] are not used.


{{Internal|Jackson Simple Data Binding|Jackson Simple Data Binding}}
{{Internal|Jackson Simple Data Binding|Jackson Simple Data Binding}}

Revision as of 02:17, 14 November 2018

External

Internal

Overview

Jackson is a Java library for processing JSON data format. It has support for marshaling and unmarshalling Java to and from JSON. It has a JAX-RS content handler that can automatically convert between Java objects and JSON, and vice-versa. It can generate JSON schemas from a Java object model.

Dependencies

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.8.7</version>
</dependency>

If the tree model is used, this is also required:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.8.7</version>
</dependency>

JSON Processing Methods

Jackson offers three alternative methods for processing JSON:

Streaming API

The Streaming API reads and writes JSON as a series of discrete events, in a mode called "incremental parsing/generation". The other two methods (Tree Model and Data Binding) are built in top of it. However, this is not the most convenient method, because is relatively low level. For more details, see:

Jackson Streaming API

Tree Model

A JSON document is converted into a mutable in-memory tree representation of the JSON document. Tree model is arguably the most flexible of all three methods. For more details, see:

Jackson Tree Model

Simple Data Binding

Jackson extracts data from JSON and initializes an in-memory Java Map/List/String/Number/Boolean/null hierarchy. Jackson specialized data representation types such as JsonNode are not used.

Jackson Simple Data Binding

Full Data Binding

Jackson converts JSON to any Java bean type, and any Java bean type can be automatically written as JSON. Data binding is arguably the most convenient of all three methods.

Jackson Full Data Binding

ObjectMapper

ObjectMapper

Annotations