相关文章推荐
高大的泡面  ·  菜单概述 - WPF .NET ...·  2 月前    · 
潇洒的牙膏  ·  python - PostgreSQL - ...·  1 年前    · 
深情的便当  ·  Flutter异常监控 - 叁 | ...·  1 年前    · 
叛逆的乒乓球  ·  excel - How to ...·  1 年前    · 
extends ObjectCodec implements Versioned , java.io.Serializable
ObjectMapper provides functionality for reading and writing JSON, either to and from basic POJOs (Plain Old Java Objects), or to and from a general-purpose JSON Tree Model ( JsonNode ), as well as related functionality for performing conversions. It is also highly customizable to work both with different styles of JSON content, and to support more advanced Object concepts such as polymorphism and Object identity. ObjectMapper also acts as a factory for more advanced ObjectReader and ObjectWriter classes. Mapper (and ObjectReader s, ObjectWriter s it constructs) will use instances of JsonParser and JsonGenerator for implementing actual reading/writing of JSON. Note that although most read and write methods are exposed through this class, some of the functionality is only exposed via ObjectReader and ObjectWriter : specifically, reading/writing of longer sequences of values is only available through ObjectReader.readValues(InputStream) and ObjectWriter.writeValues(OutputStream) . Simplest usage is of form: final ObjectMapper mapper = new ObjectMapper(); // can use static singleton, inject: just make sure to reuse! MyValue value = new MyValue(); // ... and configure File newState = new File("my-stuff.json"); mapper.writeValue(newState, value); // writes JSON serialization of MyValue instance // or, read MyValue older = mapper.readValue(new File("my-older-stuff.json"), MyValue.class); // Or if you prefer JSON Tree representation: JsonNode root = mapper.readTree(newState); // and find values by, for example, using a JsonPointer expression: int age = root.at("/personal/age").getValueAsInt(); The main conversion API is defined in ObjectCodec , so that implementation details of this class need not be exposed to streaming parser and generator classes. Usage via ObjectCodec is, however, usually only for cases where dependency to ObjectMapper is either not possible (from Streaming API), or undesireable (when only relying on Streaming API). Mapper instances are fully thread-safe provided that ALL configuration of the instance occurs before ANY read or write calls. If configuration of a mapper instance is modified after first usage, changes may or may not take effect, and configuration calls themselves may fail. If you need to use different configuration, you have two main possibilities:
  • Construct and use ObjectReader for reading, ObjectWriter for writing. Both types are fully immutable and you can freely create new instances with different configuration using either factory methods of ObjectMapper , or readers/writers themselves. Construction of new ObjectReader s and ObjectWriter s is a very light-weight operation so it is usually appropriate to create these on per-call basis, as needed, for configuring things like optional indentation of JSON.
  • If the specific kind of configurability is not available via ObjectReader and ObjectWriter , you may need to use multiple ObjectMapper instead (for example: you cannot change mix-in annotations on-the-fly; or, set of custom (de)serializers). To help with this usage, you may want to use method copy() which creates a clone of the mapper with specific configuration, and allows configuration of the copied instance before it gets used. Note that copy() operation is as expensive as constructing a new ObjectMapper instance: if possible, you should still pool and reuse mappers if you intend to use them for multiple operations. Note on caching: root-level deserializers are always cached, and accessed using full (generics-aware) type information. This is different from caching of referenced types, which is more limited and is done only for a subset of all deserializer types. The main reason for difference is that at root-level there is no incoming reference (and hence no referencing property, no referral information or annotations to produce differing deserializers), and that the performance impact greatest at root level (since it'll essentially cache the full graph of deserializers involved). Notes on security: use "default typing" feature (see enableDefaultTyping() ) is a potential security risk, if used with untrusted content (content generated by untrusted external parties). If so, you may want to construct a custom TypeResolverBuilder implementation to limit possible types to instantiate, (using setDefaultTyping(com.fasterxml.jackson.databind.jsontype.TypeResolverBuilder<?>) ).

  • See Also:
    Serialized Form
    static class ObjectMapper.DefaultTypeResolverBuilder
    Customized TypeResolverBuilder that provides type resolver builders used with so-called "default typing" (see activateDefaultTyping(PolymorphicTypeValidator) for details).
    static class ObjectMapper.DefaultTyping
    Enumeration used with activateDefaultTyping(PolymorphicTypeValidator) to specify what kind of types (classes) default typing should be used for.
    ObjectMapper ()
    Default constructor, which will construct the default JsonFactory as necessary, use SerializerProvider as its SerializerProvider , and BeanSerializerFactory as its SerializerFactory .
    ObjectMapper ( JsonFactory jf)
    Constructs instance that uses specified JsonFactory for constructing necessary JsonParser s and/or JsonGenerator s.
    ObjectMapper ( JsonFactory jf, DefaultSerializerProvider sp, DefaultDeserializationContext dc)
    Constructs instance that uses specified JsonFactory for constructing necessary JsonParser s and/or JsonGenerator s, and uses given providers for accessing serializers and deserializers.

    Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method and Description acceptJsonFormatVisitor (java.lang.Class<?> type, JsonFormatVisitorWrapper visitor)
    Method for visiting type hierarchy for given type, using specified visitor.
    acceptJsonFormatVisitor ( JavaType type, JsonFormatVisitorWrapper visitor)
    Method for visiting type hierarchy for given type, using specified visitor.
    ObjectMapper activateDefaultTyping ( PolymorphicTypeValidator ptv)
    Convenience method that is equivalent to calling
    ObjectMapper activateDefaultTyping ( PolymorphicTypeValidator ptv, ObjectMapper.DefaultTyping applicability)
    Convenience method that is equivalent to calling
    ObjectMapper activateDefaultTyping ( PolymorphicTypeValidator ptv, ObjectMapper.DefaultTyping applicability, JsonTypeInfo.As includeAs)
    Method for enabling automatic inclusion of type information, needed for proper deserialization of polymorphic types (unless types have been annotated with JsonTypeInfo ).
    ObjectMapper activateDefaultTypingAsProperty ( PolymorphicTypeValidator ptv, ObjectMapper.DefaultTyping applicability, java.lang.String propertyName)
    Method for enabling automatic inclusion of type information -- needed for proper deserialization of polymorphic types (unless types have been annotated with JsonTypeInfo ) -- using "As.PROPERTY" inclusion mechanism and specified property name to use for inclusion (default being "@class" since default type information always uses class name as type identifier)
    ObjectMapper addHandler ( DeserializationProblemHandler h)
    Method for adding specified DeserializationProblemHandler to be used for handling specific problems during deserialization.
    ObjectMapper addMixIn (java.lang.Class<?> target, java.lang.Class<?> mixinSource)
    Method to use for adding mix-in annotations to use for augmenting specified class or interface.
    addMixInAnnotations (java.lang.Class<?> target, java.lang.Class<?> mixinSource)
    Deprecated.
    Since 2.5: replaced by a fluent form of the method; addMixIn(Class, Class) .
    boolean canDeserialize ( JavaType type)
    Method that can be called to check whether mapper thinks it could deserialize an Object of given type.
    boolean canDeserialize ( JavaType type, java.util.concurrent.atomic.AtomicReference<java.lang.Throwable> cause)
    Method similar to canDeserialize(JavaType) but that can return actual Throwable that was thrown when trying to construct serializer: this may be useful in figuring out what the actual problem is.
    boolean canSerialize (java.lang.Class<?> type)
    Method that can be called to check whether mapper thinks it could serialize an instance of given Class.
    boolean canSerialize (java.lang.Class<?> type, java.util.concurrent.atomic.AtomicReference<java.lang.Throwable> cause)
    Method similar to canSerialize(Class) but that can return actual Throwable that was thrown when trying to construct serializer: this may be useful in figuring out what the actual problem is.
    ObjectMapper clearProblemHandlers ()
    Method for removing all registered DeserializationProblemHandler s instances from this mapper.
    MutableConfigOverride configOverride (java.lang.Class<?> type)
    Accessor for getting a mutable configuration override object for given type, needed to add or change per-type overrides applied to properties of given type.
    ObjectMapper configure ( DeserializationFeature f, boolean state)
    Method for changing state of an on/off deserialization feature for this object mapper.
    ObjectMapper configure ( JsonGenerator.Feature f, boolean state)
    Method for changing state of an on/off JsonGenerator feature for generator instances this object mapper creates.
    ObjectMapper configure ( JsonParser.Feature f, boolean state)
    Method for changing state of specified JsonParser.Feature s for parser instances this object mapper creates.
    ObjectMapper configure ( MapperFeature f, boolean state) ObjectMapper configure ( SerializationFeature f, boolean state)
    Method for changing state of an on/off serialization feature for this object mapper.
    JavaType constructType (java.lang.reflect.Type t)
    Convenience method for constructing JavaType out of given type (typically java.lang.Class ), but without explicit context.
    convertValue (java.lang.Object fromValue, java.lang.Class<T> toValueType)
    Convenience method for doing two-step conversion from given value, into instance of given value type, by writing value into temporary buffer and reading from the buffer into specified target type.
    convertValue (java.lang.Object fromValue, JavaType toValueType) convertValue (java.lang.Object fromValue, TypeReference <T> toValueTypeRef) ObjectMapper copy ()
    Method for creating a new ObjectMapper instance that has same initial configuration as this instance.
    ArrayNode createArrayNode () Note: return type is co-variant, as basic ObjectCodec abstraction cannot refer to concrete node types (as it's part of core package, whereas impls are part of mapper package)
    ObjectNode createObjectNode () Note: return type is co-variant, as basic ObjectCodec abstraction cannot refer to concrete node types (as it's part of core package, whereas impls are part of mapper package) ObjectMapper deactivateDefaultTyping ()
    Method for disabling automatic inclusion of type information; if so, only explicitly annotated types (ones with JsonTypeInfo ) will have additional embedded type information.
    ObjectMapper disable ( DeserializationFeature feature)
    Method for enabling specified DeserializationConfig features.
    ObjectMapper disable ( DeserializationFeature first, DeserializationFeature ... f)
    Method for enabling specified DeserializationConfig features.
    ObjectMapper disable ( JsonGenerator.Feature ... features)
    Method for disabling specified JsonGenerator.Feature s for parser instances this object mapper creates.
    ObjectMapper disable ( JsonParser.Feature ... features)
    Method for disabling specified JsonParser.Feature s for parser instances this object mapper creates.
    ObjectMapper disable ( MapperFeature ... f) ObjectMapper disable ( SerializationFeature f)
    Method for enabling specified DeserializationConfig features.
    ObjectMapper disable ( SerializationFeature first, SerializationFeature ... f)
    Method for enabling specified DeserializationConfig features.
    ObjectMapper disableDefaultTyping ()
    Deprecated.
    Since 2.10 use deactivateDefaultTyping() instead
    ObjectMapper enable ( JsonGenerator.Feature ... features)
    Method for enabling specified JsonGenerator.Feature s for parser instances this object mapper creates.
    ObjectMapper enable ( JsonParser.Feature ... features)
    Method for enabling specified JsonParser.Feature s for parser instances this object mapper creates.
    ObjectMapper enable ( MapperFeature ... f) ObjectMapper enable ( SerializationFeature f)
    Method for enabling specified DeserializationConfig feature.
    ObjectMapper enable ( SerializationFeature first, SerializationFeature ... f)
    Method for enabling specified DeserializationConfig features.
    ObjectMapper enableDefaultTyping ()
    Deprecated. ObjectMapper enableDefaultTyping ( ObjectMapper.DefaultTyping applicability, JsonTypeInfo.As includeAs)
    Deprecated. ObjectMapper enableDefaultTypingAsProperty ( ObjectMapper.DefaultTyping applicability, java.lang.String propertyName)
    Deprecated. ObjectMapper findAndRegisterModules ()
    Convenience method that is functionally equivalent to: mapper.registerModules(mapper.findModules()); static java.util.List< Module > findModules ()
    Method for locating available methods, using JDK ServiceLoader facility, along with module-provided SPI.
    static java.util.List< Module > findModules (java.lang.ClassLoader classLoader)
    Method for locating available methods, using JDK ServiceLoader facility, along with module-provided SPI.
    JsonSchema generateJsonSchema (java.lang.Class<?> t)
    Deprecated.
    Since 2.6 use external JSON Schema generator (https://github.com/FasterXML/jackson-module-jsonSchema) (which under the hood calls acceptJsonFormatVisitor(JavaType, JsonFormatVisitorWrapper) )
    getDeserializationConfig ()
    Method that returns the shared default DeserializationConfig object that defines configuration settings for deserialization.
    DeserializationContext getDeserializationContext ()
    Method for getting current DeserializationContext .
    JsonFactory getFactory ()
    Accessor for finding underlying data format factory ( JsonFactory ) codec will use for data binding.
    InjectableValues getInjectableValues () JsonFactory getJsonFactory ()
    Deprecated.
    Since 2.1: Use getFactory() instead
    getNodeFactory ()
    Method that can be used to get hold of JsonNodeFactory that this mapper will use when directly constructing root JsonNode instances for Trees.
    PolymorphicTypeValidator getPolymorphicTypeValidator ()
    Accessor for configured PolymorphicTypeValidator used for validating polymorphic subtypes used with explicit polymorphic types (annotation-based), but NOT one with "default typing" (see activateDefaultTyping(PolymorphicTypeValidator) for details).
    PropertyNamingStrategy getPropertyNamingStrategy () java.util.Set<java.lang.Object> getRegisteredModuleIds ()
    The set of Module typeIds that are registered in this ObjectMapper.
    SerializationConfig getSerializationConfig ()
    Method that returns the shared default SerializationConfig object that defines configuration settings for serialization.
    SerializerFactory getSerializerFactory ()
    Method for getting current SerializerFactory .
    SerializerProvider getSerializerProvider ()
    Accessor for the "blueprint" (or, factory) instance, from which instances are created by calling DefaultSerializerProvider.createInstance(com.fasterxml.jackson.databind.SerializationConfig, com.fasterxml.jackson.databind.ser.SerializerFactory) .
    SerializerProvider getSerializerProviderInstance ()
    Accessor for constructing and returning a SerializerProvider instance that may be used for accessing serializers.
    SubtypeResolver getSubtypeResolver ()
    Method for accessing subtype resolver in use.
    TypeFactory getTypeFactory ()
    Accessor for getting currently configured TypeFactory instance.
    VisibilityChecker <?> getVisibilityChecker ()
    Method for accessing currently configured visibility checker; object used for determining whether given property element (method, field, constructor) can be auto-detected or not.
    boolean isEnabled ( DeserializationFeature f)
    Method for checking whether given deserialization-specific feature is enabled.
    boolean isEnabled ( JsonFactory.Feature f)
    Convenience method, equivalent to:
    boolean isEnabled ( JsonGenerator.Feature f) boolean isEnabled ( JsonParser.Feature f) boolean isEnabled ( MapperFeature f)
    Method for checking whether given MapperFeature is enabled.
    boolean isEnabled ( SerializationFeature f)
    Method for checking whether given serialization-specific feature is enabled.
    boolean isEnabled ( StreamReadFeature f) boolean isEnabled ( StreamWriteFeature f) JsonNode missingNode () mixInCount () JsonNode nullNode () ObjectReader reader ()
    Factory method for constructing ObjectReader with default settings.
    ObjectReader reader ( Base64Variant defaultBase64)
    Factory method for constructing ObjectReader that will use specified Base64 encoding variant for Base64-encoded binary data.
    ObjectReader reader (java.lang.Class<?> type)
    Deprecated.
    Since 2.5, use readerFor(Class) instead
    ObjectReader reader ( ContextAttributes attrs)
    Factory method for constructing ObjectReader that will use specified default attributes.
    ObjectReader reader ( DeserializationFeature feature)
    Factory method for constructing ObjectReader with specified feature enabled (compared to settings that this mapper instance has).
    ObjectReader reader ( DeserializationFeature first, DeserializationFeature ... other)
    Factory method for constructing ObjectReader with specified features enabled (compared to settings that this mapper instance has).
    ObjectReader reader ( FormatSchema schema)
    Factory method for constructing ObjectReader that will pass specific schema object to JsonParser used for reading content.
    ObjectReader reader ( InjectableValues injectableValues)
    Factory method for constructing ObjectReader that will use specified injectable values.
    ObjectReader reader ( JavaType type)
    Deprecated.
    Since 2.5, use readerFor(JavaType) instead
    ObjectReader reader ( JsonNodeFactory f)
    Factory method for constructing ObjectReader that will use specified JsonNodeFactory for constructing JSON trees.
    ObjectReader reader ( TypeReference <?> type)
    Deprecated.
    Since 2.5, use readerFor(TypeReference) instead
    ObjectReader readerFor (java.lang.Class<?> type)
    Factory method for constructing ObjectReader that will read or update instances of specified type
    ObjectReader readerFor ( JavaType type)
    Factory method for constructing ObjectReader that will read or update instances of specified type
    ObjectReader readerFor ( TypeReference <?> type)
    Factory method for constructing ObjectReader that will read or update instances of specified type
    ObjectReader readerForUpdating (java.lang.Object valueToUpdate)
    Factory method for constructing ObjectReader that will update given Object (usually Bean, but can be a Collection or Map as well, but NOT an array) with JSON data.
    ObjectReader readerWithView (java.lang.Class<?> view)
    Factory method for constructing ObjectReader that will deserialize objects using specified JSON View (filter).
    JsonNode readTree (byte[] content)
    Same as readTree(InputStream) except content read from passed-in byte array.
    JsonNode readTree (byte[] content, int offset, int len)
    Same as readTree(InputStream) except content read from passed-in byte array.
    JsonNode readTree (java.io.File file)
    Same as readTree(InputStream) except content read from passed-in File .
    JsonNode readTree (java.io.InputStream in)
    Method to deserialize JSON content as tree expressed using set of JsonNode instances.
    <T extends TreeNode >
    T
    readTree ( JsonParser p)
    Method to deserialize JSON content as a tree JsonNode .
    JsonNode readTree (java.io.Reader r)
    Same as readTree(InputStream) except content accessed through passed-in Reader
    JsonNode readTree (java.lang.String content)
    Same as readTree(InputStream) except content read from passed-in String
    JsonNode readTree (java.net.URL source)
    Same as readTree(InputStream) except content read from passed-in URL .
    readValue (byte[] src, java.lang.Class<T> valueType) readValue (byte[] src, int offset, int len, java.lang.Class<T> valueType) readValue (byte[] src, int offset, int len, JavaType valueType) readValue (byte[] src, int offset, int len, TypeReference <T> valueTypeRef) readValue (byte[] src, JavaType valueType) readValue (byte[] src, TypeReference <T> valueTypeRef) readValue (java.io.DataInput src, java.lang.Class<T> valueType) readValue (java.io.DataInput src, JavaType valueType) readValue (java.io.File src, java.lang.Class<T> valueType)
    Method to deserialize JSON content from given file into given Java type.
    readValue (java.io.File src, JavaType valueType)
    Method to deserialize JSON content from given file into given Java type.
    readValue (java.io.File src, TypeReference <T> valueTypeRef)
    Method to deserialize JSON content from given file into given Java type.
    readValue (java.io.InputStream src, java.lang.Class<T> valueType) readValue (java.io.InputStream src, JavaType valueType) readValue (java.io.InputStream src, TypeReference <T> valueTypeRef) readValue ( JsonParser p, java.lang.Class<T> valueType)
    Method to deserialize JSON content into a non-container type (it can be an array type, however): typically a bean, array or a wrapper type (like Boolean ).
    readValue ( JsonParser p, JavaType valueType)
    Type-safe overloaded method, basically alias for readValue(JsonParser, Class) .
    readValue ( JsonParser p, ResolvedType valueType)
    Method to deserialize JSON content into a Java type, reference to which is passed as argument.
    readValue ( JsonParser p, TypeReference <T> valueTypeRef)
    Method to deserialize JSON content into a Java type, reference to which is passed as argument.
    readValue (java.io.Reader src, java.lang.Class<T> valueType) readValue (java.io.Reader src, JavaType valueType) readValue (java.io.Reader src, TypeReference <T> valueTypeRef) readValue (java.lang.String content, java.lang.Class<T> valueType)
    Method to deserialize JSON content from given JSON content String.
    readValue (java.lang.String content, JavaType valueType)
    Method to deserialize JSON content from given JSON content String.
    readValue (java.lang.String content, TypeReference <T> valueTypeRef)
    Method to deserialize JSON content from given JSON content String.
    readValue (java.net.URL src, java.lang.Class<T> valueType)
    Method to deserialize JSON content from given resource into given Java type.
    readValue (java.net.URL src, JavaType valueType)
    Same as readValue(java.net.URL, Class) except that target specified by JavaType .
    readValue (java.net.URL src, TypeReference <T> valueTypeRef)
    Same as readValue(java.net.URL, Class) except that target specified by TypeReference .
    <T> MappingIterator <T> readValues ( JsonParser p, java.lang.Class<T> valueType)
    Convenience method, equivalent in function to:
    <T> MappingIterator <T> readValues ( JsonParser p, JavaType valueType)
    Convenience method, equivalent in function to:
    <T> MappingIterator <T> readValues ( JsonParser p, ResolvedType valueType)
    Convenience method, equivalent in function to:
    <T> MappingIterator <T> readValues ( JsonParser p, TypeReference <T> valueTypeRef)
    Method for reading sequence of Objects from parser stream.
    ObjectMapper registerModule ( Module module)
    Method for registering a module that can extend functionality provided by this mapper; for example, by adding providers for custom serializers and deserializers.
    ObjectMapper registerModules (java.lang.Iterable<? extends Module > modules)
    Convenience method for registering specified modules in order; functionally equivalent to:
    ObjectMapper registerModules ( Module ... modules)
    Convenience method for registering specified modules in order; functionally equivalent to:
    registerSubtypes (java.lang.Class<?>... classes)
    Method for registering specified class as a subtype, so that typename-based resolution can link supertypes to subtypes (as an alternative to using annotations).
    registerSubtypes (java.util.Collection<java.lang.Class<?>> subtypes) registerSubtypes ( NamedType ... types)
    Method for registering specified class as a subtype, so that typename-based resolution can link supertypes to subtypes (as an alternative to using annotations).
    ObjectMapper setAnnotationIntrospector ( AnnotationIntrospector ai)
    Method for setting AnnotationIntrospector used by this mapper instance for both serialization and deserialization.
    ObjectMapper setAnnotationIntrospectors ( AnnotationIntrospector serializerAI, AnnotationIntrospector deserializerAI)
    Method for changing AnnotationIntrospector instances used by this mapper instance for serialization and deserialization, specifying them separately so that different introspection can be used for different aspects
    ObjectMapper setBase64Variant ( Base64Variant v)
    Method that will configure default Base64Variant that byte[] serializers and deserializers will use.
    ObjectMapper setConfig ( DeserializationConfig config)
    Method that allows overriding of the underlying DeserializationConfig object.
    ObjectMapper setConfig ( SerializationConfig config)
    Method that allows overriding of the underlying SerializationConfig object, which contains serialization-specific configuration settings.
    ObjectMapper setDateFormat (java.text.DateFormat dateFormat)
    Method for configuring the default DateFormat to use when serializing time values as Strings, and deserializing from JSON Strings.
    ObjectMapper setDefaultLeniency (java.lang.Boolean b) ObjectMapper setDefaultMergeable (java.lang.Boolean b)
    Method for setting default Setter configuration, regarding things like merging, null-handling; used for properties for which there are no per-type or per-property overrides (via annotations or config overrides).
    ObjectMapper setDefaultPrettyPrinter ( PrettyPrinter pp)
    Method for specifying PrettyPrinter to use when "default pretty-printing" is enabled (by enabling SerializationFeature.INDENT_OUTPUT )
    ObjectMapper setDefaultPropertyInclusion ( JsonInclude.Include incl)
    Short-cut for:
    ObjectMapper setDefaultPropertyInclusion ( JsonInclude.Value incl)
    Method for setting default POJO property inclusion strategy for serialization, applied for all properties for which there are no per-type or per-property overrides (via annotations or config overrides).
    ObjectMapper setDefaultSetterInfo ( JsonSetter.Value v)
    Method for setting default Setter configuration, regarding things like merging, null-handling; used for properties for which there are no per-type or per-property overrides (via annotations or config overrides).
    ObjectMapper setDefaultTyping ( TypeResolverBuilder <?> typer)
    Method for enabling automatic inclusion of type information, using specified handler object for determining which types this affects, as well as details of how information is embedded.
    ObjectMapper setDefaultVisibility ( JsonAutoDetect.Value vis)
    Method for setting auto-detection visibility definition defaults, which are in effect unless overridden by annotations (like JsonAutoDetect ) or per-type visibility overrides.
    ObjectMapper setFilterProvider ( FilterProvider filterProvider)
    Method for configuring this mapper to use specified FilterProvider for mapping Filter Ids to actual filter instances.
    setFilters ( FilterProvider filterProvider)
    Deprecated. java.lang.Object setHandlerInstantiator ( HandlerInstantiator hi)
    Method for configuring HandlerInstantiator to use for creating instances of handlers (such as serializers, deserializers, type and type id resolvers), given a class.
    ObjectMapper setInjectableValues ( InjectableValues injectableValues)
    Method for configuring InjectableValues which used to find values to inject.
    ObjectMapper setLocale (java.util.Locale l)
    Method for overriding default locale to use for formatting.
    setMixInAnnotations (java.util.Map<java.lang.Class<?>,java.lang.Class<?>> sourceMixins)
    Deprecated.
    Since 2.5: replaced by a fluent form of the method; setMixIns(java.util.Map<java.lang.Class<?>, java.lang.Class<?>>) .
    ObjectMapper setMixInResolver ( ClassIntrospector.MixInResolver resolver)
    Method that can be called to specify given resolver for locating mix-in classes to use, overriding directly added mappings.
    ObjectMapper setMixIns (java.util.Map<java.lang.Class<?>,java.lang.Class<?>> sourceMixins)
    Method to use for defining mix-in annotations to use for augmenting annotations that processable (serializable / deserializable) classes have.
    ObjectMapper setNodeFactory ( JsonNodeFactory f)
    Method for specifying JsonNodeFactory to use for constructing root level tree nodes (via method createObjectNode()
    ObjectMapper setPolymorphicTypeValidator ( PolymorphicTypeValidator ptv)
    Method for specifying PolymorphicTypeValidator to use for validating polymorphic subtypes used with explicit polymorphic types (annotation-based), but NOT one with "default typing" (see activateDefaultTyping(PolymorphicTypeValidator) for details).
    ObjectMapper setPropertyInclusion ( JsonInclude.Value incl)
    Deprecated.
    Since 2.9 use setDefaultPropertyInclusion(com.fasterxml.jackson.annotation.JsonInclude.Value)
    ObjectMapper setSerializerFactory ( SerializerFactory f)
    Method for setting specific SerializerFactory to use for constructing (bean) serializers.
    ObjectMapper setSerializerProvider ( DefaultSerializerProvider p)
    Method for setting "blueprint" SerializerProvider instance to use as the base for actual provider instances to use for handling caching of JsonSerializer instances.
    ObjectMapper setSubtypeResolver ( SubtypeResolver str)
    Method for setting custom subtype resolver to use.
    ObjectMapper setTimeZone (java.util.TimeZone tz)
    Method for overriding default TimeZone to use for formatting.
    ObjectMapper setTypeFactory ( TypeFactory f)
    Method that can be used to override TypeFactory instance used by this mapper.
    ObjectMapper setVisibility ( PropertyAccessor forMethod, JsonAutoDetect.Visibility visibility)
    Convenience method that allows changing configuration for underlying VisibilityChecker s, to change details of what kinds of properties are auto-detected.
    ObjectMapper setVisibility ( VisibilityChecker <?> vc)
    Method for setting currently configured default VisibilityChecker , object used for determining whether given property element (method, field, constructor) can be auto-detected or not.
    setVisibilityChecker ( VisibilityChecker <?> vc)
    Deprecated.
    Since 2.6 use setVisibility(VisibilityChecker) instead.
    JsonFactory tokenStreamFactory ()
    Method that can be used to get hold of JsonFactory that this mapper uses if it needs to construct JsonParser s and/or JsonGenerator s.
    JsonParser treeAsTokens ( TreeNode n)
    Method for constructing a JsonParser out of JSON tree representation.
    treeToValue ( TreeNode n, java.lang.Class<T> valueType)
    Convenience conversion method that will bind data given JSON tree contains into specific value (usually bean) type.
    updateValue (T valueToUpdate, java.lang.Object overrides)
    Convenience method similar to convertValue(Object, JavaType) but one in which
    <T extends JsonNode >
    T
    valueToTree (java.lang.Object fromValue)
    Reverse of treeToValue(com.fasterxml.jackson.core.TreeNode, java.lang.Class<T>) ; given a value (usually bean), will construct equivalent JSON Tree representation.
    Version version ()
    Method that will return version information stored in and read from jar that contains this class.
    ObjectWriter writer ()
    Convenience method for constructing ObjectWriter with default settings.
    ObjectWriter writer ( Base64Variant defaultBase64)
    Factory method for constructing ObjectWriter that will use specified Base64 encoding variant for Base64-encoded binary data.
    ObjectWriter writer ( CharacterEscapes escapes)
    Factory method for constructing ObjectReader that will use specified character escaping details for output.
    ObjectWriter writer ( ContextAttributes attrs)
    Factory method for constructing ObjectWriter that will use specified default attributes.
    ObjectWriter writer (java.text.DateFormat df)
    Factory method for constructing ObjectWriter that will serialize objects using specified DateFormat ; or, if null passed, using timestamp (64-bit number.
    ObjectWriter writer ( FilterProvider filterProvider)
    Factory method for constructing ObjectWriter that will serialize objects using specified filter provider.
    ObjectWriter writer ( FormatSchema schema)
    Factory method for constructing ObjectWriter that will pass specific schema object to JsonGenerator used for writing content.
    ObjectWriter writer ( PrettyPrinter pp)
    Factory method for constructing ObjectWriter that will serialize objects using specified pretty printer for indentation (or if null, no pretty printer)
    ObjectWriter writer ( SerializationFeature feature)
    Factory method for constructing ObjectWriter with specified feature enabled (compared to settings that this mapper instance has).
    ObjectWriter writer ( SerializationFeature first, SerializationFeature ... other)
    Factory method for constructing ObjectWriter with specified features enabled (compared to settings that this mapper instance has).
    ObjectWriter writerFor (java.lang.Class<?> rootType)
    Factory method for constructing ObjectWriter that will serialize objects using specified root type, instead of actual runtime type of value.
    ObjectWriter writerFor ( JavaType rootType)
    Factory method for constructing ObjectWriter that will serialize objects using specified root type, instead of actual runtime type of value.
    ObjectWriter writerFor ( TypeReference <?> rootType)
    Factory method for constructing ObjectWriter that will serialize objects using specified root type, instead of actual runtime type of value.
    ObjectWriter writerWithDefaultPrettyPrinter ()
    Factory method for constructing ObjectWriter that will serialize objects using the default pretty printer for indentation
    ObjectWriter writerWithType (java.lang.Class<?> rootType)
    Deprecated.
    Since 2.5, use writerFor(Class) instead
    ObjectWriter writerWithView (java.lang.Class<?> serializationView)
    Factory method for constructing ObjectWriter that will serialize objects using specified JSON View (filter).
    writeTree ( JsonGenerator g, JsonNode rootNode)
    Method to serialize given JSON Tree, using generator provided.
    writeTree ( JsonGenerator g, TreeNode rootNode) writeValue (java.io.DataOutput out, java.lang.Object value) writeValue (java.io.File resultFile, java.lang.Object value)
    Method that can be used to serialize any Java value as JSON output, written to File provided.
    writeValue ( JsonGenerator g, java.lang.Object value)
    Method that can be used to serialize any Java value as JSON output, using provided JsonGenerator .
    writeValue (java.io.OutputStream out, java.lang.Object value)
    Method that can be used to serialize any Java value as JSON output, using output stream provided (using encoding JsonEncoding.UTF8 ).
    writeValue (java.io.Writer w, java.lang.Object value)
    Method that can be used to serialize any Java value as JSON output, using Writer provided.
    byte[] writeValueAsBytes (java.lang.Object value)
    Method that can be used to serialize any Java value as a byte array.
    java.lang.String writeValueAsString (java.lang.Object value)
    Method that can be used to serialize any Java value as a String.
    public ObjectMapper()
    Default constructor, which will construct the default JsonFactory as necessary, use SerializerProvider as its SerializerProvider , and BeanSerializerFactory as its SerializerFactory . This means that it can serialize all standard JDK types, as well as regular Java Beans (based on method names and Jackson-specific annotations), but does not support JAXB annotations.

    ObjectMapper

    public ObjectMapper(JsonFactory jf)
    Constructs instance that uses specified JsonFactory for constructing necessary JsonParser s and/or JsonGenerator s.
    public ObjectMapper(JsonFactory jf,
                        DefaultSerializerProvider sp,
                        DefaultDeserializationContext dc)
    Constructs instance that uses specified JsonFactory for constructing necessary JsonParser s and/or JsonGenerator s, and uses given providers for accessing serializers and deserializers.
    Parameters:
    jf - JsonFactory to use: if null, a new MappingJsonFactory will be constructed
    sp - SerializerProvider to use: if null, a SerializerProvider will be constructed
    dc - Blueprint deserialization context instance to use for creating actual context objects; if null, will construct standard DeserializationContext
    public ObjectMapper copy()
    Method for creating a new ObjectMapper instance that has same initial configuration as this instance. Note that this also requires making a copy of the underlying JsonFactory instance. Method is typically used when multiple, differently configured mappers are needed. Although configuration is shared, cached serializers and deserializers are NOT shared, which means that the new instance may be re-configured before use; meaning that it behaves the same way as if an instance was constructed from scratch.

    Since:

    version

    public Version version()
    Method that will return version information stored in and read from jar that contains this class.
    Specified by:
    version in interface Versioned
    Specified by:
    version in class ObjectCodec

    registerModule

    public ObjectMapper registerModule(Module module)
    Method for registering a module that can extend functionality provided by this mapper; for example, by adding providers for custom serializers and deserializers.
    Parameters:
    module - Module to register

    registerModules

    public ObjectMapper registerModules(Module... modules)
    Convenience method for registering specified modules in order; functionally equivalent to: for (Module module : modules) { registerModule(module);
    Since:

    registerModules

    public ObjectMapper registerModules(java.lang.Iterable<? extends Module> modules)
    Convenience method for registering specified modules in order; functionally equivalent to: for (Module module : modules) { registerModule(module);
    Since:

    getRegisteredModuleIds

    public java.util.Set<java.lang.Object> getRegisteredModuleIds()
    The set of Module typeIds that are registered in this ObjectMapper. By default the typeId for a module is it's full class name (see Module.getTypeId() ).
    Since:
    2.9.6

    findModules

    public static java.util.List<Module> findModules()
    Method for locating available methods, using JDK ServiceLoader facility, along with module-provided SPI. Note that method does not do any caching, so calls should be considered potentially expensive.

    Since:

    findModules

    public static java.util.List<Module> findModules(java.lang.ClassLoader classLoader)
    Method for locating available methods, using JDK ServiceLoader facility, along with module-provided SPI. Note that method does not do any caching, so calls should be considered potentially expensive.

    Since:

    findAndRegisterModules

    public ObjectMapper findAndRegisterModules()
    Convenience method that is functionally equivalent to: mapper.registerModules(mapper.findModules()); As with findModules() , no caching is done for modules, so care needs to be taken to either create and share a single mapper instance; or to cache introspected set of modules.

    Since:

    getSerializationConfig

    public SerializationConfig getSerializationConfig()
    Method that returns the shared default SerializationConfig object that defines configuration settings for serialization. Note that since instances are immutable, you can NOT change settings by accessing an instance and calling methods: this will simply create new instance of config object.

    getDeserializationConfig

    public DeserializationConfig getDeserializationConfig()
    Method that returns the shared default DeserializationConfig object that defines configuration settings for deserialization. Note that since instances are immutable, you can NOT change settings by accessing an instance and calling methods: this will simply create new instance of config object.

    getDeserializationContext

    public DeserializationContext getDeserializationContext()
    Method for getting current DeserializationContext . Note that since instances are immutable, you can NOT change settings by accessing an instance and calling methods: this will simply create new instance of context object.

    setSerializerFactory

    public ObjectMapper setSerializerFactory(SerializerFactory f)
    Method for setting specific SerializerFactory to use for constructing (bean) serializers.

    getSerializerFactory

    public SerializerFactory getSerializerFactory()
    Method for getting current SerializerFactory . Note that since instances are immutable, you can NOT change settings by accessing an instance and calling methods: this will simply create new instance of factory object.

    setSerializerProvider

    public ObjectMapper setSerializerProvider(DefaultSerializerProvider p)
    Method for setting "blueprint" SerializerProvider instance to use as the base for actual provider instances to use for handling caching of JsonSerializer instances.

    getSerializerProvider

    public SerializerProvider getSerializerProvider()
    Accessor for the "blueprint" (or, factory) instance, from which instances are created by calling DefaultSerializerProvider.createInstance(com.fasterxml.jackson.databind.SerializationConfig, com.fasterxml.jackson.databind.ser.SerializerFactory) . Note that returned instance cannot be directly used as it is not properly configured: to get a properly configured instance to call, use getSerializerProviderInstance() instead.

    getSerializerProviderInstance

    public SerializerProvider getSerializerProviderInstance()
    Accessor for constructing and returning a SerializerProvider instance that may be used for accessing serializers. This is same as calling getSerializerProvider() , and calling createInstance on it.
    Since:

    setMixIns

    public ObjectMapper setMixIns(java.util.Map<java.lang.Class<?>,java.lang.Class<?>> sourceMixins)
    Method to use for defining mix-in annotations to use for augmenting annotations that processable (serializable / deserializable) classes have. Mixing in is done when introspecting class annotations and properties. Map passed contains keys that are target classes (ones to augment with new annotation overrides), and values that are source classes (have annotations to use for augmentation). Annotations from source classes (and their supertypes) will override annotations that target classes (and their super-types) have. Note that this method will CLEAR any previously defined mix-ins for this mapper.

    Since:

    addMixIn

    public ObjectMapper addMixIn(java.lang.Class<?> target,
                                 java.lang.Class<?> mixinSource)
    Method to use for adding mix-in annotations to use for augmenting specified class or interface. All annotations from mixinSource are taken to override annotations that target (or its supertypes) has.
    Parameters:
    target - Class (or interface) whose annotations to effectively override
    mixinSource - Class (or interface) whose annotations are to be "added" to target's annotations, overriding as necessary
    Since:

    setMixInResolver

    public ObjectMapper setMixInResolver(ClassIntrospector.MixInResolver resolver)
    Method that can be called to specify given resolver for locating mix-in classes to use, overriding directly added mappings. Note that direct mappings are not cleared, but they are only applied if resolver does not provide mix-in matches.
    Since:

    setMixInAnnotations

    @Deprecated
    public void setMixInAnnotations(java.util.Map<java.lang.Class<?>,java.lang.Class<?>> sourceMixins)
    Deprecated. Since 2.5: replaced by a fluent form of the method; setMixIns(java.util.Map<java.lang.Class<?>, java.lang.Class<?>>) .

    addMixInAnnotations

    @Deprecated
    public final void addMixInAnnotations(java.lang.Class<?> target,
                                                      java.lang.Class<?> mixinSource)
    Deprecated. Since 2.5: replaced by a fluent form of the method; addMixIn(Class, Class) .

    getVisibilityChecker

    public VisibilityChecker<?> getVisibilityChecker()
    Method for accessing currently configured visibility checker; object used for determining whether given property element (method, field, constructor) can be auto-detected or not.

    setVisibility

    public ObjectMapper setVisibility(VisibilityChecker<?> vc)
    Method for setting currently configured default VisibilityChecker , object used for determining whether given property element (method, field, constructor) can be auto-detected or not. This default checker is used as the base visibility: per-class overrides (both via annotations and per-type config overrides) can further change these settings.
    Since:

    setVisibility

    public ObjectMapper setVisibility(PropertyAccessor forMethod,
                                      JsonAutoDetect.Visibility visibility)
    Convenience method that allows changing configuration for underlying VisibilityChecker s, to change details of what kinds of properties are auto-detected. Basically short cut for doing: mapper.setVisibilityChecker( mapper.getVisibilityChecker().withVisibility(forMethod, visibility) one common use case would be to do: mapper.setVisibility(JsonMethod.FIELD, Visibility.ANY); which would make all member fields serializable without further annotations, instead of just public fields (default setting).
    Parameters:
    forMethod - Type of property descriptor affected (field, getter/isGetter, setter, creator)
    visibility - Minimum visibility to require for the property descriptors of type
    Returns:
    Modified mapper instance (that is, "this"), to allow chaining of configuration calls

    setAnnotationIntrospector

    public ObjectMapper setAnnotationIntrospector(AnnotationIntrospector ai)
    Method for setting AnnotationIntrospector used by this mapper instance for both serialization and deserialization. Note that doing this will replace the current introspector, which may lead to unavailability of core Jackson annotations. If you want to combine handling of multiple introspectors, have a look at AnnotationIntrospectorPair .
    See Also:
    AnnotationIntrospectorPair

    setAnnotationIntrospectors

    public ObjectMapper setAnnotationIntrospectors(AnnotationIntrospector serializerAI,
                                                   AnnotationIntrospector deserializerAI)
    Method for changing AnnotationIntrospector instances used by this mapper instance for serialization and deserialization, specifying them separately so that different introspection can be used for different aspects
    Parameters:
    serializerAI - AnnotationIntrospector to use for configuring serialization
    deserializerAI - AnnotationIntrospector to use for configuring deserialization
    Since:
    See Also:
    AnnotationIntrospectorPair

    setPropertyNamingStrategy

    public ObjectMapper setPropertyNamingStrategy(PropertyNamingStrategy s)
    Method for setting custom property naming strategy to use.

    setDefaultPrettyPrinter

    public ObjectMapper setDefaultPrettyPrinter(PrettyPrinter pp)
    Method for specifying PrettyPrinter to use when "default pretty-printing" is enabled (by enabling SerializationFeature.INDENT_OUTPUT )
    Parameters:
    pp - Pretty printer to use by default.
    Returns:
    This mapper, useful for call-chaining
    Since:

    setVisibilityChecker

    @Deprecated
    public void setVisibilityChecker(VisibilityChecker<?> vc)
    Deprecated. Since 2.6 use setVisibility(VisibilityChecker) instead.

    setPolymorphicTypeValidator

    public ObjectMapper setPolymorphicTypeValidator(PolymorphicTypeValidator ptv)
    Method for specifying PolymorphicTypeValidator to use for validating polymorphic subtypes used with explicit polymorphic types (annotation-based), but NOT one with "default typing" (see activateDefaultTyping(PolymorphicTypeValidator) for details).
    Since:

    getPolymorphicTypeValidator

    public PolymorphicTypeValidator getPolymorphicTypeValidator()
    Accessor for configured PolymorphicTypeValidator used for validating polymorphic subtypes used with explicit polymorphic types (annotation-based), but NOT one with "default typing" (see activateDefaultTyping(PolymorphicTypeValidator) for details).
    Since:

    setSerializationInclusion

    public ObjectMapper setSerializationInclusion(JsonInclude.Include incl)
    Convenience method, equivalent to calling: setPropertyInclusion(JsonInclude.Value.construct(incl, incl)); NOTE: behavior differs slightly from 2.8, where second argument was implied to be JsonInclude.Include.ALWAYS .

    setPropertyInclusion

    @Deprecated
    public ObjectMapper setPropertyInclusion(JsonInclude.Value incl)
    Since:

    setDefaultPropertyInclusion

    public ObjectMapper setDefaultPropertyInclusion(JsonInclude.Value incl)
    Method for setting default POJO property inclusion strategy for serialization, applied for all properties for which there are no per-type or per-property overrides (via annotations or config overrides).
    Since:
    2.9 (basically rename of setPropertyInclusion )

    setDefaultPropertyInclusion

    public ObjectMapper setDefaultPropertyInclusion(JsonInclude.Include incl)
    Short-cut for: setDefaultPropertyInclusion(JsonInclude.Value.construct(incl, incl));
    Since:
    2.9 (basically rename of setPropertyInclusion )

    setDefaultSetterInfo

    public ObjectMapper setDefaultSetterInfo(JsonSetter.Value v)
    Method for setting default Setter configuration, regarding things like merging, null-handling; used for properties for which there are no per-type or per-property overrides (via annotations or config overrides).
    Since:

    setDefaultVisibility

    public ObjectMapper setDefaultVisibility(JsonAutoDetect.Value vis)
    Method for setting auto-detection visibility definition defaults, which are in effect unless overridden by annotations (like JsonAutoDetect ) or per-type visibility overrides.
    Since:

    setDefaultMergeable

    public ObjectMapper setDefaultMergeable(java.lang.Boolean b)
    Method for setting default Setter configuration, regarding things like merging, null-handling; used for properties for which there are no per-type or per-property overrides (via annotations or config overrides).
    Since:

    registerSubtypes

    public void registerSubtypes(java.lang.Class<?>... classes)
    Method for registering specified class as a subtype, so that typename-based resolution can link supertypes to subtypes (as an alternative to using annotations). Type for given class is determined from appropriate annotation; or if missing, default name (unqualified class name)

    registerSubtypes

    public void registerSubtypes(NamedType... types)
    Method for registering specified class as a subtype, so that typename-based resolution can link supertypes to subtypes (as an alternative to using annotations). Name may be provided as part of argument, but if not will be based on annotations or use default name (unqualified class name).

    registerSubtypes

    public void registerSubtypes(java.util.Collection<java.lang.Class<?>> subtypes)
    Since:

    activateDefaultTyping

    public ObjectMapper activateDefaultTyping(PolymorphicTypeValidator ptv)
    Convenience method that is equivalent to calling enableDefaultTyping(ptv, DefaultTyping.OBJECT_AND_NON_CONCRETE); NOTE: choice of PolymorphicTypeValidator to pass is critical for security as allowing all subtypes can be risky for untrusted content.

    Parameters:
    ptv - Validator used to verify that actual subtypes to deserialize are valid against whatever criteria validator uses: important in case where untrusted content is deserialized.
    Since:

    activateDefaultTyping

    public ObjectMapper activateDefaultTyping(PolymorphicTypeValidator ptv,
                                              ObjectMapper.DefaultTyping applicability)
    Convenience method that is equivalent to calling enableDefaultTyping(ptv, dti, JsonTypeInfo.As.WRAPPER_ARRAY); NOTE: choice of PolymorphicTypeValidator to pass is critical for security as allowing all subtypes can be risky for untrusted content.

    Parameters:
    ptv - Validator used to verify that actual subtypes to deserialize are valid against whatever criteria validator uses: important in case where untrusted content is deserialized.
    applicability - Defines kinds of types for which additional type information is added; see ObjectMapper.DefaultTyping for more information.
    Since:

    activateDefaultTyping

    public ObjectMapper activateDefaultTyping(PolymorphicTypeValidator ptv,
                                              ObjectMapper.DefaultTyping applicability,
                                              JsonTypeInfo.As includeAs)
    Method for enabling automatic inclusion of type information, needed for proper deserialization of polymorphic types (unless types have been annotated with JsonTypeInfo ). NOTE: use of JsonTypeInfo.As#EXTERNAL_PROPERTY NOT SUPPORTED ; and attempts of do so will throw an IllegalArgumentException to make this limitation explicit. NOTE: choice of PolymorphicTypeValidator to pass is critical for security as allowing all subtypes can be risky for untrusted content.

    Parameters:
    ptv - Validator used to verify that actual subtypes to deserialize are valid against whatever criteria validator uses: important in case where untrusted content is deserialized.
    applicability - Defines kinds of types for which additional type information is added; see ObjectMapper.DefaultTyping for more information.
    includeAs -
    Since:

    activateDefaultTypingAsProperty

    public ObjectMapper activateDefaultTypingAsProperty(PolymorphicTypeValidator ptv,
                                                        ObjectMapper.DefaultTyping applicability,
                                                        java.lang.String propertyName)
    Method for enabling automatic inclusion of type information -- needed for proper deserialization of polymorphic types (unless types have been annotated with JsonTypeInfo ) -- using "As.PROPERTY" inclusion mechanism and specified property name to use for inclusion (default being "@class" since default type information always uses class name as type identifier) NOTE: choice of PolymorphicTypeValidator to pass is critical for security as allowing all subtypes can be risky for untrusted content.

    Parameters:
    ptv - Validator used to verify that actual subtypes to deserialize are valid against whatever criteria validator uses: important in case where untrusted content is deserialized.
    applicability - Defines kinds of types for which additional type information is added; see ObjectMapper.DefaultTyping for more information.
    propertyName - Name of property used for including type id for polymorphic values.
    Since:

    deactivateDefaultTyping

    public ObjectMapper deactivateDefaultTyping()
    Method for disabling automatic inclusion of type information; if so, only explicitly annotated types (ones with JsonTypeInfo ) will have additional embedded type information.

    setDefaultTyping

    public ObjectMapper setDefaultTyping(TypeResolverBuilder<?> typer)
    Method for enabling automatic inclusion of type information, using specified handler object for determining which types this affects, as well as details of how information is embedded. NOTE: use of Default Typing can be a potential security risk if incoming content comes from untrusted sources, so care should be taken to use a TypeResolverBuilder that can limit allowed classes to deserialize. Note in particular that StdTypeResolverBuilder DOES NOT limit applicability but creates type (de)serializers for all types.

    Parameters:
    typer - Type information inclusion handler

    enableDefaultTyping

    @Deprecated
    public ObjectMapper enableDefaultTyping(ObjectMapper.DefaultTyping dti)

    enableDefaultTyping

    @Deprecated
    public ObjectMapper enableDefaultTyping(ObjectMapper.DefaultTyping applicability,
                                                        JsonTypeInfo.As includeAs)
    Deprecated. Since 2.10 use activateDefaultTyping(PolymorphicTypeValidator,DefaultTyping,JsonTypeInfo.As) instead

    enableDefaultTypingAsProperty

    @Deprecated
    public ObjectMapper enableDefaultTypingAsProperty(ObjectMapper.DefaultTyping applicability,
                                                                  java.lang.String propertyName)

    configOverride

    public MutableConfigOverride configOverride(java.lang.Class<?> type)
    Accessor for getting a mutable configuration override object for given type, needed to add or change per-type overrides applied to properties of given type. Usage is through returned object by colling "setter" methods, which directly modify override object and take effect directly. For example you can do mapper.configOverride(java.util.Date.class) .setFormat(JsonFormat.Value.forPattern("yyyy-MM-dd")); to change the default format to use for properties of type Date (possibly further overridden by per-property annotations)
    Since:

    setTypeFactory

    public ObjectMapper setTypeFactory(TypeFactory f)
    Method that can be used to override TypeFactory instance used by this mapper. Note: will also set TypeFactory that deserialization and serialization config objects use.

    constructType

    public JavaType constructType(java.lang.reflect.Type t)
    Convenience method for constructing JavaType out of given type (typically java.lang.Class ), but without explicit context.

    getNodeFactory

    public JsonNodeFactory getNodeFactory()
    Method that can be used to get hold of JsonNodeFactory that this mapper will use when directly constructing root JsonNode instances for Trees. Note: this is just a shortcut for calling getDeserializationConfig().getNodeFactory()

    setNodeFactory

    public ObjectMapper setNodeFactory(JsonNodeFactory f)
    Method for specifying JsonNodeFactory to use for constructing root level tree nodes (via method createObjectNode()

    addHandler

    public ObjectMapper addHandler(DeserializationProblemHandler h)
    Method for adding specified DeserializationProblemHandler to be used for handling specific problems during deserialization.

    clearProblemHandlers

    public ObjectMapper clearProblemHandlers()
    Method for removing all registered DeserializationProblemHandler s instances from this mapper.

    setConfig

    public ObjectMapper setConfig(DeserializationConfig config)
    Method that allows overriding of the underlying DeserializationConfig object. It is added as a fallback method that may be used if no other configuration modifier method works: it should not be used if there are alternatives, and its use is generally discouraged. NOTE : only use this method if you know what you are doing -- it allows by-passing some of checks applied to other configuration methods. Also keep in mind that as with all configuration of ObjectMapper , this is only thread-safe if done before calling any deserialization methods.

    Since:

    setFilterProvider

    public ObjectMapper setFilterProvider(FilterProvider filterProvider)
    Method for configuring this mapper to use specified FilterProvider for mapping Filter Ids to actual filter instances. Note that usually it is better to use method writer(FilterProvider) ; however, sometimes this method is more convenient. For example, some frameworks only allow configuring of ObjectMapper instances and not ObjectWriter s.

    Since:

    setBase64Variant

    public ObjectMapper setBase64Variant(Base64Variant v)
    Method that will configure default Base64Variant that byte[] serializers and deserializers will use.
    Parameters:
    v - Base64 variant to use
    Returns:
    This mapper, for convenience to allow chaining
    Since:

    setConfig

    public ObjectMapper setConfig(SerializationConfig config)
    Method that allows overriding of the underlying SerializationConfig object, which contains serialization-specific configuration settings. It is added as a fallback method that may be used if no other configuration modifier method works: it should not be used if there are alternatives, and its use is generally discouraged. NOTE : only use this method if you know what you are doing -- it allows by-passing some of checks applied to other configuration methods. Also keep in mind that as with all configuration of ObjectMapper , this is only thread-safe if done before calling any serialization methods.

    Since:

    tokenStreamFactory

    public JsonFactory tokenStreamFactory()
    Method that can be used to get hold of JsonFactory that this mapper uses if it needs to construct JsonParser s and/or JsonGenerator s. WARNING: note that all ObjectReader and ObjectWriter instances created by this mapper usually share the same configured JsonFactory , so changes to its configuration will "leak". To avoid such observed changes you should always use "with()" and "without()" method of ObjectReader and ObjectWriter for changing JsonParser.Feature and JsonGenerator.Feature settings to use on per-call basis.

    Returns:
    JsonFactory that this mapper uses when it needs to construct Json parser and generators
    Since:
    public JsonFactory getFactory()
    Description copied from class: ObjectCodec
    Accessor for finding underlying data format factory ( JsonFactory ) codec will use for data binding.
    Overrides:
    getFactory in class ObjectCodec
    @Deprecated
    public JsonFactory getJsonFactory()
    Deprecated. Since 2.1: Use getFactory() instead
    Overrides:
    getJsonFactory in class ObjectCodec

    setDateFormat

    public ObjectMapper setDateFormat(java.text.DateFormat dateFormat)
    Method for configuring the default DateFormat to use when serializing time values as Strings, and deserializing from JSON Strings. This is preferably to directly modifying SerializationConfig and DeserializationConfig instances. If you need per-request configuration, use writer(DateFormat) to create properly configured ObjectWriter and use that; this because ObjectWriter s are thread-safe whereas ObjectMapper itself is only thread-safe when configuring methods (such as this one) are NOT called.

    setHandlerInstantiator

    public java.lang.Object setHandlerInstantiator(HandlerInstantiator hi)
    Method for configuring HandlerInstantiator to use for creating instances of handlers (such as serializers, deserializers, type and type id resolvers), given a class.
    Parameters:
    hi - Instantiator to use; if null, use the default implementation

    setInjectableValues

    public ObjectMapper setInjectableValues(InjectableValues injectableValues)
    Method for configuring InjectableValues which used to find values to inject.

    setLocale

    public ObjectMapper setLocale(java.util.Locale l)
    Method for overriding default locale to use for formatting. Default value used is Locale.getDefault() .

    setTimeZone

    public ObjectMapper setTimeZone(java.util.TimeZone tz)
    Method for overriding default TimeZone to use for formatting. Default value used is UTC (NOT default TimeZone of JVM).

    isEnabled

    public boolean isEnabled(SerializationFeature f)
    Method for checking whether given serialization-specific feature is enabled.
    public ObjectMapper configure(SerializationFeature f,
                                  boolean state)
    Method for changing state of an on/off serialization feature for this object mapper.

    enable

    public ObjectMapper enable(SerializationFeature f)
    Method for enabling specified DeserializationConfig feature. Modifies and returns this instance; no new object is created.

    enable

    public ObjectMapper enable(SerializationFeature first,
                               SerializationFeature... f)
    Method for enabling specified DeserializationConfig features. Modifies and returns this instance; no new object is created.

    disable

    public ObjectMapper disable(SerializationFeature f)
    Method for enabling specified DeserializationConfig features. Modifies and returns this instance; no new object is created.

    disable

    public ObjectMapper disable(SerializationFeature first,
                                SerializationFeature... f)
    Method for enabling specified DeserializationConfig features. Modifies and returns this instance; no new object is created.

    isEnabled

    public boolean isEnabled(DeserializationFeature f)
    Method for checking whether given deserialization-specific feature is enabled.
    public ObjectMapper configure(DeserializationFeature f,
                                  boolean state)
    Method for changing state of an on/off deserialization feature for this object mapper.

    enable

    public ObjectMapper enable(DeserializationFeature feature)
    Method for enabling specified DeserializationConfig features. Modifies and returns this instance; no new object is created.

    enable

    public ObjectMapper enable(DeserializationFeature first,
                               DeserializationFeature... f)
    Method for enabling specified DeserializationConfig features. Modifies and returns this instance; no new object is created.

    disable

    public ObjectMapper disable(DeserializationFeature feature)
    Method for enabling specified DeserializationConfig features. Modifies and returns this instance; no new object is created.

    disable

    public ObjectMapper disable(DeserializationFeature first,
                                DeserializationFeature... f)
    Method for enabling specified DeserializationConfig features. Modifies and returns this instance; no new object is created.
    public ObjectMapper configure(JsonParser.Feature f,
                                  boolean state)
    Method for changing state of specified JsonParser.Feature s for parser instances this object mapper creates. Note that this is equivalent to directly calling same method on getFactory() . WARNING: since this method directly modifies state of underlying JsonFactory , it will change observed configuration by ObjectReader s as well -- to avoid this, use ObjectReader.with(JsonParser.Feature) instead.

    enable

    public ObjectMapper enable(JsonParser.Feature... features)
    Method for enabling specified JsonParser.Feature s for parser instances this object mapper creates. Note that this is equivalent to directly calling same method on getFactory() . WARNING: since this method directly modifies state of underlying JsonFactory , it will change observed configuration by ObjectReader s as well -- to avoid this, use ObjectReader.with(JsonParser.Feature) instead.

    Since:

    disable

    public ObjectMapper disable(JsonParser.Feature... features)
    Method for disabling specified JsonParser.Feature s for parser instances this object mapper creates. Note that this is equivalent to directly calling same method on getFactory() . WARNING: since this method directly modifies state of underlying JsonFactory , it will change observed configuration by ObjectReader s as well -- to avoid this, use ObjectReader.without(JsonParser.Feature) instead.

    Since:
    public ObjectMapper configure(JsonGenerator.Feature f,
                                  boolean state)
    Method for changing state of an on/off JsonGenerator feature for generator instances this object mapper creates. Note that this is equivalent to directly calling same method on getFactory() . WARNING: since this method directly modifies state of underlying JsonFactory , it will change observed configuration by ObjectWriter s as well -- to avoid this, use ObjectWriter.with(JsonGenerator.Feature) instead.

    enable

    public ObjectMapper enable(JsonGenerator.Feature... features)
    Method for enabling specified JsonGenerator.Feature s for parser instances this object mapper creates. Note that this is equivalent to directly calling same method on getFactory() . WARNING: since this method directly modifies state of underlying JsonFactory , it will change observed configuration by ObjectWriter s as well -- to avoid this, use ObjectWriter.with(JsonGenerator.Feature) instead.

    Since:

    disable

    public ObjectMapper disable(JsonGenerator.Feature... features)
    Method for disabling specified JsonGenerator.Feature s for parser instances this object mapper creates. Note that this is equivalent to directly calling same method on getFactory() . WARNING: since this method directly modifies state of underlying JsonFactory , it will change observed configuration by ObjectWriter s as well -- to avoid this, use ObjectWriter.without(JsonGenerator.Feature) instead.

    Since:

    isEnabled

    public boolean isEnabled(JsonFactory.Feature f)
    Convenience method, equivalent to: getJsonFactory().isEnabled(f);
    public <T> T readValue(JsonParser p,
                           java.lang.Class<T> valueType)
                    throws java.io.IOException,
                           JsonParseException,
                           JsonMappingException
    Method to deserialize JSON content into a non-container type (it can be an array type, however): typically a bean, array or a wrapper type (like Boolean ). Note: this method should NOT be used if the result type is a container ( Collection or Map . The reason is that due to type erasure, key and value types cannot be introspected when using this method.

    Specified by:
    readValue in class ObjectCodec
    Throws:
    java.io.IOException - if a low-level I/O problem (unexpected end-of-input, network error) occurs (passed through as-is without additional wrapping -- note that this is one case where DeserializationFeature.WRAP_EXCEPTIONS does NOT result in wrapping of exception even if enabled)
    JsonParseException - if underlying input contains invalid content of type JsonParser supports (JSON for default case)
    JsonMappingException - if the input JSON structure does not match structure expected for result type (or has other mismatch issues)
    public <T> T readValue(JsonParser p,
                           TypeReference<T> valueTypeRef)
                    throws java.io.IOException,
                           JsonParseException,
                           JsonMappingException
    Method to deserialize JSON content into a Java type, reference to which is passed as argument. Type is passed using so-called "super type token" (see ) and specifically needs to be used if the root type is a parameterized (generic) container type.
    Specified by:
    readValue in class ObjectCodec
    Throws:
    java.io.IOException - if a low-level I/O problem (unexpected end-of-input, network error) occurs (passed through as-is without additional wrapping -- note that this is one case where DeserializationFeature.WRAP_EXCEPTIONS does NOT result in wrapping of exception even if enabled)
    JsonParseException - if underlying input contains invalid content of type JsonParser supports (JSON for default case)
    JsonMappingException - if the input JSON structure does not match structure expected for result type (or has other mismatch issues)
    public final <T> T readValue(JsonParser p,
                                 ResolvedType valueType)
                          throws java.io.IOException,
                                 JsonParseException,
                                 JsonMappingException
    Method to deserialize JSON content into a Java type, reference to which is passed as argument. Type is passed using Jackson specific type; instance of which can be constructed using TypeFactory .
    Specified by:
    readValue in class ObjectCodec
    Throws:
    java.io.IOException - if a low-level I/O problem (unexpected end-of-input, network error) occurs (passed through as-is without additional wrapping -- note that this is one case where DeserializationFeature.WRAP_EXCEPTIONS does NOT result in wrapping of exception even if enabled)
    JsonParseException - if underlying input contains invalid content of type JsonParser supports (JSON for default case)
    JsonMappingException - if the input JSON structure does not match structure expected for result type (or has other mismatch issues)
    JsonParseException , JsonMappingException
    Type-safe overloaded method, basically alias for readValue(JsonParser, Class) .
    Throws:
    java.io.IOException - if a low-level I/O problem (unexpected end-of-input, network error) occurs (passed through as-is without additional wrapping -- note that this is one case where DeserializationFeature.WRAP_EXCEPTIONS does NOT result in wrapping of exception even if enabled)
    JsonParseException - if underlying input contains invalid content of type JsonParser supports (JSON for default case)
    JsonMappingException - if the input JSON structure does not match structure expected for result type (or has other mismatch issues)

    readTree

    public <T extends TreeNode> T readTree(JsonParser p)
                                    throws java.io.IOException,
                                           JsonProcessingException
    Method to deserialize JSON content as a tree JsonNode . Returns JsonNode that represents the root of the resulting tree, if there was content to read, or null if no more content is accessible via passed JsonParser . NOTE! Behavior with end-of-input (no more content) differs between this readTree method, and all other methods that take input source: latter will return "missing node", NOT null

    Specified by:
    readTree in class ObjectCodec
    Returns:
    a JsonNode , if valid JSON content found; null if input has no content to bind -- note, however, that if JSON null token is found, it will be represented as a non-null JsonNode (one that returns true for JsonNode.isNull()
    Throws:
    java.io.IOException - if a low-level I/O problem (unexpected end-of-input, network error) occurs (passed through as-is without additional wrapping -- note that this is one case where DeserializationFeature.WRAP_EXCEPTIONS does NOT result in wrapping of exception even if enabled)
    JsonParseException - if underlying input contains invalid content of type JsonParser supports (JSON for default case)
    JsonProcessingException

    readValues

    public <T> MappingIterator<T> readValues(JsonParser p,
                                             ResolvedType valueType)
                                      throws java.io.IOException,
                                             JsonProcessingException
    Convenience method, equivalent in function to: readerFor(valueType).readValues(p); Method for reading sequence of Objects from parser stream. Sequence can be either root-level "unwrapped" sequence (without surrounding JSON array), or a sequence contained in a JSON Array. In either case JsonParser MUST point to the first token of the first element, OR not point to any token (in which case it is advanced to the next token). This means, specifically, that for wrapped sequences, parser MUST NOT point to the surrounding START_ARRAY (one that contains values to read) but rather to the token following it which is the first token of the first value to read. Note that ObjectReader has more complete set of variants.

    Specified by:
    readValues in class ObjectCodec
    Throws:
    java.io.IOException
    JsonProcessingException
    public <T> MappingIterator<T> readValues(JsonParser p,
                                             JavaType valueType)
                                      throws java.io.IOException,
                                             JsonProcessingException
    Convenience method, equivalent in function to: readerFor(valueType).readValues(p); Type-safe overload of readValues(JsonParser, ResolvedType) .

    Throws:
    java.io.IOException
    JsonProcessingException

    readValues

    public <T> MappingIterator<T> readValues(JsonParser p,
                                             java.lang.Class<T> valueType)
                                      throws java.io.IOException,
                                             JsonProcessingException
    Convenience method, equivalent in function to: readerFor(valueType).readValues(p); Type-safe overload of readValues(JsonParser, ResolvedType) .

    Specified by:
    readValues in class ObjectCodec
    Throws:
    java.io.IOException
    JsonProcessingException

    readValues

    public <T> MappingIterator<T> readValues(JsonParser p,
                                             TypeReference<T> valueTypeRef)
                                      throws java.io.IOException,
                                             JsonProcessingException
    Method for reading sequence of Objects from parser stream.
    Specified by:
    readValues in class ObjectCodec
    Throws:
    java.io.IOException
    JsonProcessingException
    public JsonNode readTree(java.io.InputStream in)
                      throws java.io.IOException
    Method to deserialize JSON content as tree expressed using set of JsonNode instances. Returns root of the resulting tree (where root can consist of just a single node if the current event is a value event, not container). If a low-level I/O problem (missing input, network error) occurs, a IOException will be thrown. If a parsing problem occurs (invalid JSON), JsonParseException will be thrown. If no content is found from input (end-of-input), Java null will be returned.

    Parameters:
    in - Input stream used to read JSON content for building the JSON tree.
    Returns:
    a JsonNode , if valid JSON content found; null if input has no content to bind -- note, however, that if JSON null token is found, it will be represented as a non-null JsonNode (one that returns true for JsonNode.isNull()
    Throws:
    JsonParseException - if underlying input contains invalid content of type JsonParser supports (JSON for default case)
    java.io.IOException
    public JsonNode readTree(java.io.Reader r)
                      throws java.io.IOException
    Same as readTree(InputStream) except content accessed through passed-in Reader
    Throws:
    java.io.IOException

    readTree

    public JsonNode readTree(java.lang.String content)
                      throws JsonProcessingException,
                             JsonMappingException
    Same as readTree(InputStream) except content read from passed-in String
    Throws:
    JsonProcessingException
    JsonMappingException
    public JsonNode readTree(byte[] content)
                      throws java.io.IOException
    Same as readTree(InputStream) except content read from passed-in byte array.
    Throws:
    java.io.IOException
    throws java.io.IOException
    Same as readTree(InputStream) except content read from passed-in byte array.
    Throws:
    java.io.IOException
    public JsonNode readTree(java.io.File file)
                      throws java.io.IOException,
                             JsonProcessingException
    Same as readTree(InputStream) except content read from passed-in File .
    Throws:
    java.io.IOException
    JsonProcessingException
    public JsonNode readTree(java.net.URL source)
                      throws java.io.IOException
    Same as readTree(InputStream) except content read from passed-in URL . NOTE: handling of URL is delegated to JsonFactory.createParser(java.net.URL) and usually simply calls URL.openStream() , meaning no special handling is done. If different HTTP connection options are needed you will need to create InputStream separately.

    Throws:
    java.io.IOException
    public void writeValue(JsonGenerator g,
                           java.lang.Object value)
                    throws java.io.IOException,
                           JsonGenerationException,
                           JsonMappingException
    Method that can be used to serialize any Java value as JSON output, using provided JsonGenerator .
    Specified by:
    writeValue in class ObjectCodec
    Throws:
    java.io.IOException
    JsonGenerationException
    JsonMappingException
    throws java.io.IOException, JsonProcessingException
    Method to serialize given JSON Tree, using generator provided.
    Throws:
    java.io.IOException
    JsonProcessingException
    public ObjectNode createObjectNode()
    Note: return type is co-variant, as basic ObjectCodec abstraction cannot refer to concrete node types (as it's part of core package, whereas impls are part of mapper package)

    Specified by:
    createObjectNode in class ObjectCodec
    public ArrayNode createArrayNode()
    Note: return type is co-variant, as basic ObjectCodec abstraction cannot refer to concrete node types (as it's part of core package, whereas impls are part of mapper package)

    Specified by:
    createArrayNode in class ObjectCodec

    treeAsTokens

    public JsonParser treeAsTokens(TreeNode n)
    Method for constructing a JsonParser out of JSON tree representation.
    Specified by:
    treeAsTokens in class ObjectCodec
    Parameters:
    n - Root node of the tree that resulting parser will read from
    public <T> T treeToValue(TreeNode n,
                             java.lang.Class<T> valueType)
                      throws JsonProcessingException
    Convenience conversion method that will bind data given JSON tree contains into specific value (usually bean) type. Functionally equivalent to: objectMapper.convertValue(n, valueClass);
    Specified by:
    treeToValue in class ObjectCodec
    Throws:
    JsonProcessingException

    valueToTree

    public <T extends JsonNode> T valueToTree(java.lang.Object fromValue)
                                       throws java.lang.IllegalArgumentException
    Reverse of treeToValue(com.fasterxml.jackson.core.TreeNode, java.lang.Class<T>) ; given a value (usually bean), will construct equivalent JSON Tree representation. Functionally similar to serializing value into JSON and parsing JSON as tree, but more efficient. NOTE: while results are usually identical to that of serialization followed by deserialization, this is not always the case. In some cases serialization into intermediate representation will retain encapsulation of things like raw value ( RawValue ) or basic node identity ( JsonNode ). If so, result is a valid tree, but values are not re-constructed through actual JSON representation. So if transformation requires actual materialization of JSON (or other data format that this mapper produces), it will be necessary to do actual serialization.

    Type Parameters:
    T - Actual node type; usually either basic JsonNode or ObjectNode
    Parameters:
    fromValue - Bean value to convert
    Returns:
    (non-null) Root node of the resulting JSON tree: in case of null value, node for which JsonNode.isNull() returns true .
    Throws:
    java.lang.IllegalArgumentException

    canSerialize

    public boolean canSerialize(java.lang.Class<?> type)
    Method that can be called to check whether mapper thinks it could serialize an instance of given Class. Check is done by checking whether a serializer can be found for the type. NOTE: since this method does NOT throw exceptions, but internal processing may, caller usually has little information as to why serialization would fail. If you want access to internal Exception , call canSerialize(Class, AtomicReference) instead.

    Returns:
    True if mapper can find a serializer for instances of given class (potentially serializable), false otherwise (not serializable)

    canSerialize

    public boolean canSerialize(java.lang.Class<?> type,
                                java.util.concurrent.atomic.AtomicReference<java.lang.Throwable> cause)
    Method similar to canSerialize(Class) but that can return actual Throwable that was thrown when trying to construct serializer: this may be useful in figuring out what the actual problem is.
    Since:

    canDeserialize

    public boolean canDeserialize(JavaType type)
    Method that can be called to check whether mapper thinks it could deserialize an Object of given type. Check is done by checking whether a registered deserializer can be found or built for the type; if not (either by no mapping being found, or through an Exception being thrown, false is returned. NOTE : in case an exception is thrown during course of trying co construct matching deserializer, it will be effectively swallowed. If you want access to that exception, call canDeserialize(JavaType, AtomicReference) instead.

    Returns:
    True if mapper can find a serializer for instances of given class (potentially serializable), false otherwise (not serializable)

    canDeserialize

    public boolean canDeserialize(JavaType type,
                                  java.util.concurrent.atomic.AtomicReference<java.lang.Throwable> cause)
    Method similar to canDeserialize(JavaType) but that can return actual Throwable that was thrown when trying to construct serializer: this may be useful in figuring out what the actual problem is.
    Since:
    public <T> T readValue(java.io.File src,
                           java.lang.Class<T> valueType)
                    throws java.io.IOException,
                           JsonParseException,
                           JsonMappingException
    Method to deserialize JSON content from given file into given Java type.
    Throws:
    java.io.IOException - if a low-level I/O problem (unexpected end-of-input, network error) occurs (passed through as-is without additional wrapping -- note that this is one case where DeserializationFeature.WRAP_EXCEPTIONS does NOT result in wrapping of exception even if enabled)
    JsonParseException - if underlying input contains invalid content of type JsonParser supports (JSON for default case)
    JsonMappingException - if the input JSON structure does not match structure expected for result type (or has other mismatch issues)
    public <T> T readValue(java.io.File src,
                           TypeReference<T> valueTypeRef)
                    throws java.io.IOException,
                           JsonParseException,
                           JsonMappingException
    Method to deserialize JSON content from given file into given Java type.
    Throws:
    java.io.IOException - if a low-level I/O problem (unexpected end-of-input, network error) occurs (passed through as-is without additional wrapping -- note that this is one case where DeserializationFeature.WRAP_EXCEPTIONS does NOT result in wrapping of exception even if enabled)
    JsonParseException - if underlying input contains invalid content of type JsonParser supports (JSON for default case)
    JsonMappingException - if the input JSON structure does not match structure expected for result type (or has other mismatch issues)
    JsonParseException , JsonMappingException
    Method to deserialize JSON content from given file into given Java type.
    Throws:
    java.io.IOException - if a low-level I/O problem (unexpected end-of-input, network error) occurs (passed through as-is without additional wrapping -- note that this is one case where DeserializationFeature.WRAP_EXCEPTIONS does NOT result in wrapping of exception even if enabled)
    JsonParseException - if underlying input contains invalid content of type JsonParser supports (JSON for default case)
    JsonMappingException - if the input JSON structure does not match structure expected for result type (or has other mismatch issues)
    public <T> T readValue(java.net.URL src,
                           java.lang.Class<T> valueType)
                    throws java.io.IOException,
                           JsonParseException,
                           JsonMappingException
    Method to deserialize JSON content from given resource into given Java type. NOTE: handling of URL is delegated to JsonFactory.createParser(java.net.URL) and usually simply calls URL.openStream() , meaning no special handling is done. If different HTTP connection options are needed you will need to create InputStream separately.

    Throws:
    java.io.IOException - if a low-level I/O problem (unexpected end-of-input, network error) occurs (passed through as-is without additional wrapping -- note that this is one case where DeserializationFeature.WRAP_EXCEPTIONS does NOT result in wrapping of exception even if enabled)
    JsonParseException - if underlying input contains invalid content of type JsonParser supports (JSON for default case)
    JsonMappingException - if the input JSON structure does not match structure expected for result type (or has other mismatch issues)
    public <T> T readValue(java.net.URL src,
                           TypeReference<T> valueTypeRef)
                    throws java.io.IOException,
                           JsonParseException,
                           JsonMappingException
    Same as readValue(java.net.URL, Class) except that target specified by TypeReference .
    Throws:
    java.io.IOException
    JsonParseException
    JsonMappingException
    JsonParseException , JsonMappingException
    Same as readValue(java.net.URL, Class) except that target specified by JavaType .
    Throws:
    java.io.IOException
    JsonParseException
    JsonMappingException
    public <T> T readValue(java.lang.String content,
                           java.lang.Class<T> valueType)
                    throws JsonProcessingException,
                           JsonMappingException
    Method to deserialize JSON content from given JSON content String.
    Throws:
    JsonParseException - if underlying input contains invalid content of type JsonParser supports (JSON for default case)
    JsonMappingException - if the input JSON structure does not match structure expected for result type (or has other mismatch issues)
    JsonProcessingException
    public <T> T readValue(java.lang.String content,
                           TypeReference<T> valueTypeRef)
                    throws JsonProcessingException,
                           JsonMappingException
    Method to deserialize JSON content from given JSON content String.
    Throws:
    JsonParseException - if underlying input contains invalid content of type JsonParser supports (JSON for default case)
    JsonMappingException - if the input JSON structure does not match structure expected for result type (or has other mismatch issues)
    JsonProcessingException
    public <T> T readValue(java.lang.String content,
                           JavaType valueType)
                    throws JsonProcessingException,
                           JsonMappingException
    Method to deserialize JSON content from given JSON content String.
    Throws:
    JsonParseException - if underlying input contains invalid content of type JsonParser supports (JSON for default case)
    JsonMappingException - if the input JSON structure does not match structure expected for result type (or has other mismatch issues)
    JsonProcessingException
    public <T> T readValue(java.io.Reader src,
                           java.lang.Class<T> valueType)
                    throws java.io.IOException,
                           JsonParseException,
                           JsonMappingException
    Throws:
    java.io.IOException
    JsonParseException
    JsonMappingException
    public <T> T readValue(java.io.Reader src,
                           TypeReference<T> valueTypeRef)
                    throws java.io.IOException,
                           JsonParseException,
                           JsonMappingException
    Throws:
    java.io.IOException
    JsonParseException
    JsonMappingException
    public <T> T readValue(java.io.Reader src,
                           JavaType valueType)
                    throws java.io.IOException,
                           JsonParseException,
                           JsonMappingException
    Throws:
    java.io.IOException
    JsonParseException
    JsonMappingException
    public <T> T readValue(java.io.InputStream src,
                           java.lang.Class<T> valueType)
                    throws java.io.IOException,
                           JsonParseException,
                           JsonMappingException
    Throws:
    java.io.IOException
    JsonParseException
    JsonMappingException
    public <T> T readValue(java.io.InputStream src,
                           TypeReference<T> valueTypeRef)
                    throws java.io.IOException,
                           JsonParseException,
                           JsonMappingException
    Throws:
    java.io.IOException
    JsonParseException
    JsonMappingException
    public <T> T readValue(java.io.InputStream src,
                           JavaType valueType)
                    throws java.io.IOException,
                           JsonParseException,
                           JsonMappingException
    Throws:
    java.io.IOException
    JsonParseException
    JsonMappingException
    public <T> T readValue(byte[] src,
                           java.lang.Class<T> valueType)
                    throws java.io.IOException,
                           JsonParseException,
                           JsonMappingException
    Throws:
    java.io.IOException
    JsonParseException
    JsonMappingException
    public <T> T readValue(byte[] src,
                           TypeReference<T> valueTypeRef)
                    throws java.io.IOException,
                           JsonParseException,
                           JsonMappingException
    Throws:
    java.io.IOException
    JsonParseException
    JsonMappingException
    public <T> T readValue(java.io.DataInput src,
                           java.lang.Class<T> valueType)
                    throws java.io.IOException
    Throws:
    java.io.IOException
    public <T> T readValue(java.io.DataInput src,
                           JavaType valueType)
                    throws java.io.IOException
    Throws:
    java.io.IOException
    public void writeValue(java.io.File resultFile,
                           java.lang.Object value)
                    throws java.io.IOException,
                           JsonGenerationException,
                           JsonMappingException
    Method that can be used to serialize any Java value as JSON output, written to File provided.
    Throws:
    java.io.IOException
    JsonGenerationException
    JsonMappingException
    public void writeValue(java.io.OutputStream out,
                           java.lang.Object value)
                    throws java.io.IOException,
                           JsonGenerationException,
                           JsonMappingException
    Method that can be used to serialize any Java value as JSON output, using output stream provided (using encoding JsonEncoding.UTF8 ). Note: method does not close the underlying stream explicitly here; however, JsonFactory this mapper uses may choose to close the stream depending on its settings (by default, it will try to close it when JsonGenerator we construct is closed).

    Throws:
    java.io.IOException
    JsonGenerationException
    JsonMappingException
    public void writeValue(java.io.DataOutput out,
                           java.lang.Object value)
                    throws java.io.IOException
    Throws:
    java.io.IOException
    Since:
    public void writeValue(java.io.Writer w,
                           java.lang.Object value)
                    throws java.io.IOException,
                           JsonGenerationException,
                           JsonMappingException
    Method that can be used to serialize any Java value as JSON output, using Writer provided. Note: method does not close the underlying stream explicitly here; however, JsonFactory this mapper uses may choose to close the stream depending on its settings (by default, it will try to close it when JsonGenerator we construct is closed).

    Throws:
    java.io.IOException
    JsonGenerationException
    JsonMappingException

    writeValueAsString

    public java.lang.String writeValueAsString(java.lang.Object value)
                                        throws JsonProcessingException
    Method that can be used to serialize any Java value as a String. Functionally equivalent to calling writeValue(Writer,Object) with StringWriter and constructing String, but more efficient. Note: prior to version 2.1, throws clause included IOException ; 2.1 removed it.

    Throws:
    JsonProcessingException

    writeValueAsBytes

    public byte[] writeValueAsBytes(java.lang.Object value)
                             throws JsonProcessingException
    Method that can be used to serialize any Java value as a byte array. Functionally equivalent to calling writeValue(Writer,Object) with ByteArrayOutputStream and getting bytes, but more efficient. Encoding used will be UTF-8. Note: prior to version 2.1, throws clause included IOException ; 2.1 removed it.

    Throws:
    JsonProcessingException

    writer

    public ObjectWriter writer(SerializationFeature feature)
    Factory method for constructing ObjectWriter with specified feature enabled (compared to settings that this mapper instance has).

    writer

    public ObjectWriter writer(SerializationFeature first,
                               SerializationFeature... other)
    Factory method for constructing ObjectWriter with specified features enabled (compared to settings that this mapper instance has).

    writer

    public ObjectWriter writer(java.text.DateFormat df)
    Factory method for constructing ObjectWriter that will serialize objects using specified DateFormat ; or, if null passed, using timestamp (64-bit number.

    writerWithView

    public ObjectWriter writerWithView(java.lang.Class<?> serializationView)
    Factory method for constructing ObjectWriter that will serialize objects using specified JSON View (filter).

    writerFor

    public ObjectWriter writerFor(java.lang.Class<?> rootType)
    Factory method for constructing ObjectWriter that will serialize objects using specified root type, instead of actual runtime type of value. Type must be a super-type of runtime type. Main reason for using this method is performance, as writer is able to pre-fetch serializer to use before write, and if writer is used more than once this avoids addition per-value serializer lookups.

    Since:

    writerFor

    public ObjectWriter writerFor(TypeReference<?> rootType)
    Factory method for constructing ObjectWriter that will serialize objects using specified root type, instead of actual runtime type of value. Type must be a super-type of runtime type. Main reason for using this method is performance, as writer is able to pre-fetch serializer to use before write, and if writer is used more than once this avoids addition per-value serializer lookups.

    Since:

    writerFor

    public ObjectWriter writerFor(JavaType rootType)
    Factory method for constructing ObjectWriter that will serialize objects using specified root type, instead of actual runtime type of value. Type must be a super-type of runtime type. Main reason for using this method is performance, as writer is able to pre-fetch serializer to use before write, and if writer is used more than once this avoids addition per-value serializer lookups.

    Since:

    writer

    public ObjectWriter writer(PrettyPrinter pp)
    Factory method for constructing ObjectWriter that will serialize objects using specified pretty printer for indentation (or if null, no pretty printer)

    writerWithDefaultPrettyPrinter

    public ObjectWriter writerWithDefaultPrettyPrinter()
    Factory method for constructing ObjectWriter that will serialize objects using the default pretty printer for indentation

    writer

    public ObjectWriter writer(FilterProvider filterProvider)
    Factory method for constructing ObjectWriter that will serialize objects using specified filter provider.

    writer

    public ObjectWriter writer(FormatSchema schema)
    Factory method for constructing ObjectWriter that will pass specific schema object to JsonGenerator used for writing content.
    Parameters:
    schema - Schema to pass to generator

    writer

    public ObjectWriter writer(Base64Variant defaultBase64)
    Factory method for constructing ObjectWriter that will use specified Base64 encoding variant for Base64-encoded binary data.
    Since:

    writer

    public ObjectWriter writer(CharacterEscapes escapes)
    Factory method for constructing ObjectReader that will use specified character escaping details for output.
    Since:

    writer

    public ObjectWriter writer(ContextAttributes attrs)
    Factory method for constructing ObjectWriter that will use specified default attributes.
    Since:

    writerWithType

    @Deprecated
    public ObjectWriter writerWithType(java.lang.Class<?> rootType)
    Deprecated. Since 2.5, use writerFor(Class) instead

    writerWithType

    @Deprecated
    public ObjectWriter writerWithType(TypeReference<?> rootType)
    Deprecated. Since 2.5, use writerFor(TypeReference) instead
    public ObjectReader reader()
    Factory method for constructing ObjectReader with default settings. Note that the resulting instance is NOT usable as is, without defining expected value type.

    reader

    public ObjectReader reader(DeserializationFeature feature)
    Factory method for constructing ObjectReader with specified feature enabled (compared to settings that this mapper instance has). Note that the resulting instance is NOT usable as is, without defining expected value type.

    reader

    public ObjectReader reader(DeserializationFeature first,
                               DeserializationFeature... other)
    Factory method for constructing ObjectReader with specified features enabled (compared to settings that this mapper instance has). Note that the resulting instance is NOT usable as is, without defining expected value type.

    readerForUpdating

    public ObjectReader readerForUpdating(java.lang.Object valueToUpdate)
    Factory method for constructing ObjectReader that will update given Object (usually Bean, but can be a Collection or Map as well, but NOT an array) with JSON data. Deserialization occurs normally except that the root-level value in JSON is not used for instantiating a new object; instead give updateable object is used as root. Runtime type of value object is used for locating deserializer, unless overridden by other factory methods of ObjectReader

    readerFor

    public ObjectReader readerFor(JavaType type)
    Factory method for constructing ObjectReader that will read or update instances of specified type
    Since:

    readerFor

    public ObjectReader readerFor(java.lang.Class<?> type)
    Factory method for constructing ObjectReader that will read or update instances of specified type
    Since:

    readerFor

    public ObjectReader readerFor(TypeReference<?> type)
    Factory method for constructing ObjectReader that will read or update instances of specified type
    Since:

    reader

    public ObjectReader reader(JsonNodeFactory f)
    Factory method for constructing ObjectReader that will use specified JsonNodeFactory for constructing JSON trees.

    reader

    public ObjectReader reader(FormatSchema schema)
    Factory method for constructing ObjectReader that will pass specific schema object to JsonParser used for reading content.
    Parameters:
    schema - Schema to pass to parser

    reader

    public ObjectReader reader(InjectableValues injectableValues)
    Factory method for constructing ObjectReader that will use specified injectable values.
    Parameters:
    injectableValues - Injectable values to use

    readerWithView

    public ObjectReader readerWithView(java.lang.Class<?> view)
    Factory method for constructing ObjectReader that will deserialize objects using specified JSON View (filter).

    reader

    public ObjectReader reader(Base64Variant defaultBase64)
    Factory method for constructing ObjectReader that will use specified Base64 encoding variant for Base64-encoded binary data.
    Since:

    reader

    public ObjectReader reader(ContextAttributes attrs)
    Factory method for constructing ObjectReader that will use specified default attributes.
    Since:

    convertValue

    public <T> T convertValue(java.lang.Object fromValue,
                              java.lang.Class<T> toValueType)
                       throws java.lang.IllegalArgumentException
    Convenience method for doing two-step conversion from given value, into instance of given value type, by writing value into temporary buffer and reading from the buffer into specified target type. This method is functionally similar to first serializing given value into JSON, and then binding JSON data into value of given type, but should be more efficient since full serialization does not (need to) occur. However, same converters (serializers, deserializers) will be used as for data binding, meaning same object mapper configuration works. Note that behavior changed slightly between Jackson 2.9 and 2.10 so that whereas earlier some optimizations were used to avoid write/read cycle in case input was of target type, from 2.10 onwards full processing is always performed. See databind#2220 for full details of the change. Further note that it is possible that in some cases behavior does differ from full serialize-then-deserialize cycle: in most case differences are unintentional (that is, flaws to fix) and should be reported, but the behavior is not guaranteed to be 100% the same: the goal is to allow efficient value conversions for structurally compatible Objects, according to standard Jackson configuration. Finally, this functionality is not designed to support "advanced" use cases, such as conversion of polymorphic values, or cases where Object Identity is used.

    Throws:
    java.lang.IllegalArgumentException - If conversion fails due to incompatible type; if so, root cause will contain underlying checked exception data binding functionality threw

    convertValue

    public <T> T convertValue(java.lang.Object fromValue,
                              TypeReference<T> toValueTypeRef)
                       throws java.lang.IllegalArgumentException
    Throws:
    java.lang.IllegalArgumentException
    public <T> T convertValue(java.lang.Object fromValue,
                              JavaType toValueType)
                       throws java.lang.IllegalArgumentException
    Throws:
    java.lang.IllegalArgumentException
    public <T> T updateValue(T valueToUpdate,
                             java.lang.Object overrides)
                      throws JsonMappingException
    Convenience method similar to convertValue(Object, JavaType) but one in which Implementation is approximately as follows:
  • Serialize `updateWithValue` into TokenBuffer
  • Construct ObjectReader with `valueToUpdate` (using readerForUpdating(Object) )
  • Construct JsonParser (using TokenBuffer.asParser() )
  • Update using ObjectReader.readValue(JsonParser) .
  • Return `valueToUpdate` Note that update is "shallow" in that only first level of properties (or, immediate contents of container to update) are modified, unless properties themselves indicate that merging should be applied for contents. Such merging can be specified using annotations (see JsonMerge ) as well as using "config overrides" (see configOverride(Class) and setDefaultMergeable(Boolean) ).

  • Parameters:
    valueToUpdate - Object to update
    overrides - Object to conceptually serialize and merge into value to update; can be thought of as a provider for overrides to apply.
    Returns:
    Either the first argument (`valueToUpdate`), if it is mutable; or a result of creating new instance that is result of "merging" values (for example, "updating" a Java array will create a new array)
    Throws:
    JsonMappingException - if there are structural incompatibilities that prevent update.
    Since:

    generateJsonSchema

    @Deprecated
    public JsonSchema generateJsonSchema(java.lang.Class<?> t)
                                              throws JsonMappingException
    Deprecated. Since 2.6 use external JSON Schema generator (https://github.com/FasterXML/jackson-module-jsonSchema) (which under the hood calls acceptJsonFormatVisitor(JavaType, JsonFormatVisitorWrapper) )
    Generate Json-schema instance for specified class.
    Parameters:
    t - The class to generate schema for
    Returns:
    Constructed JSON schema.
    Throws:
    JsonMappingException

    acceptJsonFormatVisitor

    public void acceptJsonFormatVisitor(java.lang.Class<?> type,
                                        JsonFormatVisitorWrapper visitor)
                                 throws JsonMappingException
    Method for visiting type hierarchy for given type, using specified visitor. This method can be used for things like generating JSON Schema instance for specified type.

    Parameters:
    type - Type to generate schema for (possibly with generic signature)
    Throws:
    JsonMappingException
    Since:

    acceptJsonFormatVisitor

    public void acceptJsonFormatVisitor(JavaType type,
                                        JsonFormatVisitorWrapper visitor)
                                 throws JsonMappingException
    Method for visiting type hierarchy for given type, using specified visitor. Visitation uses Serializer hierarchy and related properties This method can be used for things like generating JSON Schema instance for specified type.

    Parameters:
    type - Type to generate schema for (possibly with generic signature)
    Throws:
    JsonMappingException
    Since: