ArrayNode, ArrayType, BaseJsonNode, BigIntegerNode, BinaryNode, BooleanNode, CollectionLikeType, CollectionType, ContainerNode, DecimalNode, DoubleNode, FloatNode, IntNode, JsonNode, JSONPObject, JsonSerializable.Base, JSONWrappedObject, LongNode, MapLikeType, MapType, MissingNode, NullNode, NumericNode, ObjectNode, PlaceholderForType, POJONode, RawValue, ReferenceType, ResolvedRecursiveType, ShortNode, SimpleType, TextNode, TypeBase, ValueNodepublic interface JsonSerializable
JsonGenerator
(and SerializerProvider if necessary).
Note that implementing this interface binds implementing object closely to Jackson API, and that it is often not necessary to do so -- if class is a bean, it can be serialized without implementing this interface.
Note that while it is possible to just directly implement JsonSerializable,
actual implementations are strongly recommended to instead extend
JsonSerializable.Base.
| Modifier and Type | Interface | Description |
|---|---|---|
static class |
JsonSerializable.Base |
Base class with minimal implementation, as well as couple of extension methods
that core Jackson databinding makes use of.
|
| Modifier and Type | Method | Description |
|---|---|---|
void |
serialize(com.fasterxml.jackson.core.JsonGenerator gen,
SerializerProvider serializers) |
Serialization method called when no additional type information is
to be included in serialization.
|
void |
serializeWithType(com.fasterxml.jackson.core.JsonGenerator gen,
SerializerProvider serializers,
TypeSerializer typeSer) |
Serialization method called when additional type information is
expected to be included in serialization, for deserialization to use.
|
void serialize(com.fasterxml.jackson.core.JsonGenerator gen,
SerializerProvider serializers)
throws IOException
IOExceptionvoid serializeWithType(com.fasterxml.jackson.core.JsonGenerator gen,
SerializerProvider serializers,
TypeSerializer typeSer)
throws IOException
Usually implementation consists of a call to TypeSerializer.writeTypePrefix(com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.core.type.WritableTypeId)
followed by serialization of contents,
followed by a call to TypeSerializer.writeTypeSuffix(com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.core.type.WritableTypeId)).
Details of the type id argument to pass depend on shape of JSON Object used
(Array, Object or scalar like String/Number/Boolean).
Note that some types (most notably, "natural" types: String, Integer, Double and Boolean) never include type information.
IOExceptionCopyright © 2008–2018. All rights reserved.