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

Packages that use JsonSerializable
Package | Description
--- | ---
com.fasterxml.jackson.databind | Contains basic mapper (conversion) functionality that allows for converting between regular streaming json content and Java objects (beans or Tree Model: support for both is via `ObjectMapper` class, as well as convenience methods included in `JsonParser`
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

Classes in com.fasterxml.jackson.databind that implement JsonSerializable
Modifier and Type | Class and Description
--- | ---
`class` | `JsonNode` Base class for all JSON nodes, which form the basis of JSON Tree Model that Jackson implements.

### 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, com.fasterxml.jackson.core.JsonGenerator jgen, SerializerProvider provider)`
`void` | SerializableSerializer.`serializeWithType(JsonSerializable value, com.fasterxml.jackson.core.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.