Package com.fasterxml.jackson.core
Main public API classes of the core streaming JSON
processor: most importantly
JsonFactory
used for constructing
JSON parser (JsonParser
)
and generator
(JsonGenerator
)
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 onJsonNode
) 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.
-
Interface Summary Interface Description FormatFeature Marker interface that is to be implemented by data format - specific features.FormatSchema Simple tag interface used to mark schema objects that are used by someJsonParser
andJsonGenerator
implementations to further specify structure of expected format.JsonTokenId Interface defined to contain ids accessible withJsonToken.id()
.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 allowObjectCodec
to have some level of interoperability.Versioned Interface that those Jackson components that are explicitly versioned will implement. -
Class Summary Class Description Base64Variant Class used to define specific details of which variant of Base64 encoding/decoding is to be used.Base64Variants Container for commonly used Base64 variants:Base64Variants.MIME
Base64Variants.MIME_NO_LINEFEEDS
Base64Variants.PEM
Base64Variants.MODIFIED_FOR_URL
See entries for full description of differences.JsonFactory The main factory class of Jackson package, used to configure and construct reader (aka parser,JsonParser
) and writer (aka generator,JsonGenerator
) instances.JsonFactoryBuilder TSFBuilder
implementation for constructing vanillaJsonFactory
instances for reading/writing JSON encoded content.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.JsonpCharacterEscapes ConvenienceCharacterEscapes
implementation that escapes Unicode characters `0x2028` and `0x2029` (in addition to characters escaped otherwise), which are apparently considered linefeeds as per newer Javascript specifications, and consequently problematic when using JSONP (see https://en.wikipedia.org/wiki/JSONP).JsonPointer Implementation of JSON Pointer specification.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 thatJsonParser
andJsonGenerator
use to serialize and deserialize regular Java objects (POJOs aka Beans).TokenStreamFactory Intermediate base class for actual format-specific factories for constructing parsers (reading) and generators (writing).TreeCodec Interface that defines objects that can read and writeTreeNode
instances using Streaming API.TSFBuilder<F extends JsonFactory,B extends TSFBuilder<F,B>> Since 2.10, Builder class is offered for creating token stream factories with difference configurations: with 3.x they will be fully immutable.Version Object that encapsulates versioning information of a component. -
Enum Summary Enum Description Base64Variant.PaddingReadBehaviour Defines how the Base64Variant deals with Padding while readingJsonEncoding 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 forJsonFactory
.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.StreamReadCapability Set of on/off capabilities that aJsonParser
for given format (or in case of buffering, original format) has.StreamReadFeature Token reader (parser) features not-specific to any particular format backend.StreamWriteCapability Set of on/off capabilities that aJsonGenerator
for given format (or in case of buffering, original format) has.StreamWriteFeature Token writer (generator) features not-specific to any particular format backend. -
Exception Summary Exception Description JacksonException Base class for all Jackson-produced checked exceptions.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.