All Known Implementing Classes:
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, ValueNode

public interface JsonSerializable
Interface that can be implemented by objects that know how to serialize themselves to JSON, using 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.

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static class 
    Base class with minimal implementation, as well as couple of extension methods that core Jackson databinding makes use of.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Serialization method called when no additional type information is to be included in serialization.
    void
    Serialization method called when additional type information is expected to be included in serialization, for deserialization to use.