Main public API classes of the core streaming JSON processor: most importantly JsonFactory used for constructing JSON parser (JsonParser) and generator (JsonParser) instances.

Public API of the higher-level mapping interfaces ("Mapping API") is found from the "jackson-databind" bundle, except for following base interfaces that are defined here:

  • TreeNode is included within Streaming API to support integration of the Tree Model (which is based on JsonNode) with the basic parsers and generators (iff using mapping-supporting factory: which is part of Mapping API, not core)
  • ObjectCodec is included so that reference to the object capable of serializing/deserializing Objects to/from JSON (usually, com.fasterxml.jackson.databind.ObjectMapper) can be exposed, without adding direct dependency to implementation.


FormatSchema Simple tag interface used to mark schema objects that are used by some JsonParser and JsonGenerator implementations to further specify structure of expected format. 
PrettyPrinter Interface for objects that implement pretty printer functionality, such as indentation. 
SerializableString Interface that defines how Jackson package can interact with efficient pre-serialized or lazily-serialized and reused String representations. 
TreeNode Marker interface used to denote JSON Tree nodes, as far as the core package knows them (which is very little): mostly needed to allow ObjectCodec to have some level of interoperability. 
Versioned Interface that those Jackson components that are explicitly versioned will implement. 


Base64Variant Abstract base class used to define specific details of which variant of Base64 encoding/decoding is to be used. 
Base64Variants Container for commonly used Base64 variants. 
JsonFactory The main factory class of Jackson package, used to configure and construct reader (aka parser, JsonParser) and writer (aka generator, JsonGenerator) instances. 
JsonGenerator Base class that defines public API for writing JSON content. 
JsonLocation Object that encapsulates Location information used for reporting parsing (or potentially generation) errors, as well as current location within input streams. 
JsonParser Base class that defines public API for reading JSON content. 
JsonStreamContext Shared base class for streaming processing contexts used during reading and writing of Json content using Streaming API. 
ObjectCodec Abstract class that defines the interface that JsonParser and JsonGenerator use to serialize and deserialize regular Java objects (POJOs aka Beans). 
TestVersions Tests to verify [JACKSON-278]  
Version Object that encapsulates versioning information of a component. 


JsonEncoding Enumeration that defines legal encodings that can be used for JSON content, based on list of allowed encodings from JSON specification
JsonFactory.Feature Enumeration that defines all on/off features that can only be changed for JsonFactory
JsonGenerator.Feature Enumeration that defines all togglable features for generators. 
JsonParser.Feature Enumeration that defines all on/off features for parsers. 
JsonParser.NumberType Enumeration of possible "native" (optimal) types that can be used for numbers. 
JsonToken Enumeration for basic token types used for returning results of parsing JSON content. 


JsonGenerationException Exception type for exceptions during JSON writing, such as trying to output content in wrong context (non-matching end-array or end-object, for example). 
JsonParseException Exception type for parsing problems, used when non-well-formed content (content that does not conform to JSON syntax as per specification) is encountered. 
JsonProcessingException Intermediate base class for all problems encountered when processing (parsing, generating) JSON content that are not pure I/O problems.