## Uses of Interface
com.fasterxml.jackson.databind.JsonSerializable

- Packages that use JsonSerializable
  Package | Description
  --- | ---
  com.fasterxml.jackson.databind.node | Contains concrete `JsonNode` implementations Jackson uses for the Tree model.
  com.fasterxml.jackson.databind.ser.std |
  com.fasterxml.jackson.databind.type | Package that contains concrete implementations of `JavaType`, as well as the factory (`TypeFactory`) for constructing instances from various input data types (like `Class`, `Type`) and programmatically (for structured types, arrays, `List`s and `Map`s).
  com.fasterxml.jackson.databind.util | Utility classes for Mapper package.

- - ### Uses of JsonSerializable in com.fasterxml.jackson.databind.node

    Classes in com.fasterxml.jackson.databind.node that implement JsonSerializable
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ArrayNode` Node class that represents Arrays mapped from Json content.
    `class` | `BaseJsonNode` Abstract base class common to all standard `JsonNode` implementations.
    `class` | `BigIntegerNode` Numeric node that contains simple 64-bit integer values.
    `class` | `BinaryNode` Value node that contains Base64 encoded binary value, which will be output and stored as Json String value.
    `class` | `BooleanNode` This concrete value class is used to contain boolean (true / false) values.
    `class` | `ContainerNode<T extends ContainerNode<T>>` This intermediate base class is used for all container nodes, specifically, array and object nodes.
    `class` | `DecimalNode` Numeric node that contains values that do not fit in simple integer (int, long) or floating point (double) values.
    `class` | `DoubleNode` Numeric node that contains 64-bit ("double precision") floating point values simple 32-bit integer values.
    `class` | `FloatNode` `JsonNode` implementation for efficiently containing 32-bit `float` values.
    `class` | `IntNode` Numeric node that contains simple 32-bit integer values.
    `class` | `LongNode` Numeric node that contains simple 64-bit integer values.
    `class` | `MissingNode` This singleton node class is generated to denote "missing nodes" along paths that do not exist.
    `class` | `NullNode` This singleton value class is used to contain explicit JSON null value.
    `class` | `NumericNode` Intermediate value node used for numeric nodes.
    `class` | `ObjectNode` Node that maps to JSON Object structures in JSON content.
    `class` | `POJONode` Value node that contains a wrapped POJO, to be serialized as a JSON constructed through data mapping (usually done by calling `ObjectMapper`).
    `class` | `ShortNode` Numeric node that contains simple 16-bit integer values.
    `class` | `TextNode` Value node that contains a text value.
    `class` | `ValueNode` This intermediate base class is used for all leaf nodes, that is, all non-container (array or object) nodes, except for the "missing node".

  - ### Uses of JsonSerializable in com.fasterxml.jackson.databind.ser.std

    Methods in com.fasterxml.jackson.databind.ser.std with parameters of type JsonSerializable
    Modifier and Type | Method and Description
    --- | ---
    `void` | SerializableSerializer.`serialize(JsonSerializable value, JsonGenerator jgen, SerializerProvider provider)`
    `void` | SerializableSerializer.`serializeWithType(JsonSerializable value, JsonGenerator jgen, SerializerProvider provider, TypeSerializer typeSer)`

  - ### Uses of JsonSerializable in com.fasterxml.jackson.databind.type

    Classes in com.fasterxml.jackson.databind.type that implement JsonSerializable
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ArrayType` Array types represent Java arrays, both primitive and object valued.
    `class` | `CollectionLikeType` Type that represents things that act similar to `Collection`; but may or may not be instances of that interface.
    `class` | `CollectionType` Type that represents Java Collection types (Lists, Sets).
    `class` | `MapLikeType` Type that represents Map-like types; things that consist of key/value pairs but that do not necessarily implement `Map`, but that do not have enough introspection functionality to allow for some level of generic handling.
    `class` | `MapType` Type that represents "true" Java Map types.
    `class` | `SimpleType` Simple types are defined as anything other than one of recognized container types (arrays, Collections, Maps).
    `class` | `TypeBase`

  - ### Uses of JsonSerializable in com.fasterxml.jackson.databind.util

    Classes in com.fasterxml.jackson.databind.util that implement JsonSerializable
    Modifier and Type | Class and Description
    --- | ---
    `class` | `JSONPObject` Container class that can be used to wrap any Object instances (including nulls), and will serialize embedded in JSONP wrapping.
    `class` | `JSONWrappedObject` General-purpose wrapper class that can be used to decorate serialized value with arbitrary literal prefix and suffix.

Copyright © 2012-2013 FasterXML. All Rights Reserved.