# The Java EE 7 Tutorial

# 19.2 JSON Processing in the Java EE Platform

Java EE includes support for JSR 353, 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, and a model builder interface for the object model. This package also contains other utility classes and Java types for JSON elements. Table 19-1 lists the main classes and interfaces in this package.

- The `javax.json.stream` package contains a parser interface and a generator interface for the streaming model. Table 19-2 lists the main classes and interfaces in this package.

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

Class or Interface | Description
--- | ---
`Json` | 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.
`JsonReader` | 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.
`JsonWriter` | Writes an object model from memory to a stream.
`JsonValue` | Represents an element (such as an object, an array, or a value) in JSON data.
`JsonStructure` | 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`.
`JsonString` `JsonNumber` | Represent data types for elements in JSON data. These two interfaces are subtypes of `JsonValue`.
`JsonException` | Indicates that a problem occurred during JSON processing.

Table 19-2 Main Classes and Interfaces in javax.json.stream

Class or Interface | Description
--- | ---
`JsonParser` | Represents an event-based parser that can read JSON data from a stream or from an object model.
`JsonGenerator` | Writes JSON data to a stream one element at a time.