Java Platform, Enterprise Edition (Java EE) 8
The Java EE Tutorial

Previous Next Contents

JSON Processing in the Java EE Platform

Java EE includes support for JSR 374, which provides an API to parse, transform, and query JSON data using the object model or the streaming model described in Generating and Parsing JSON Data. The Java API for JSON Processing contains the following packages:

  • The javax.json package contains a reader interface, a writer interface, a model builder interface for the object model, and utility classes and Java types for JSON elements. This package also includes several classes that implement other JSON-related standards: JSON Pointer, JSON Patch, and JSON Merge Patch. These standards are used to retrieve, transform or manipulate values in an object model. Table 20-1 lists the main classes and interfaces in this package.

  • The package contains a parser interface and a generator interface for the streaming model. Table 20-2 lists the main classes and interfaces in this package.

  • The javax.json.spi package contains a Service Provider Interface (SPI) to plug in implementations for JSON processing objects. This package contains the JsonProvider class, which contains the methods that a service provider implements.

Table 20-1 Main Classes and Interfaces in javax.json

Class or Interface



Contains static methods to create instances of JSON parsers, builders, and generators. This class also contains methods to create parser, builder, and generator factory objects.


Reads JSON data from a stream and creates an object model in memory.

JsonObjectBuilder, JsonArrayBuilder

Create an object model or an array model in memory by adding elements from application code.


Writes an object model from memory to a stream.


Represents an element (such as an object, an array, or a value) in JSON data.


Represents an object or an array in JSON data. This interface is a subtype of JsonValue.

JsonObject, JsonArray

Represent an object or an array in JSON data. These two interfaces are subtypes of JsonStructure.


Contains methods for operating on specific targets within JSON documents. The targets can be JsonValue, JsonObject, or JsonArray objects.


An interface for supporting a sequence of operations to be applied to a target JSON resource. The operations are defined within a JSON patch document.


An interface for supporting updates to target JSON resources. A JSON patch document is compared with the target resource to determine the specific set of change operations to be applied.

JsonString, JsonNumber

Represent data types for elements in JSON data. These two interfaces are subtypes of JsonValue.


Indicates that a problem occurred during JSON processing.

Table 20-2 Main Classes and Interfaces in

Class or Interface



Represents an event-based parser that can read JSON data from a stream or from an object model.


Writes JSON data to a stream one element at a time.

Previous Next Contents
Oracle Logo  Copyright © 2017, Oracle and/or its affiliates. All rights reserved.