Monday, February 25, 2019

Jackson - ObjectMapper Class

Introduction

ObjectMapper is the main actor class of Jackson library. ObjectMapper class 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.

Class Declaration

Following is the declaration for com.fasterxml.jackson.databind.ObjectMapper class −
public class ObjectMapper
   extends ObjectCodec
      implements Versioned, Serializable

Nested Classes

S.No.Class & Description
1static class ObjectMapper.DefaultTypeResolverBuilder
Customized TypeResolverBuilder that provides type resolver builders used with so-called "default typing" (see enableDefaultTyping() for details).
2static class ObjectMapper.DefaultTyping
Enumeration used with enableDefaultTyping() to specify what kind of types (classes) default typing should be used for.

Fields

  • protected DeserializationConfig _deserializationConfig - Configuration object that defines basic global settings for the serialization process.
  • protected DefaultDeserializationContext _deserializationContext - Blueprint context object; stored here to allow custom sub-classes.
  • protected InjectableValues _injectableValues - Provider for values to inject in deserialized POJOs.
  • protected JsonFactory _jsonFactory - Factory used to create JsonParser and JsonGenerator instances as necessary.
  • protected SimpleMixInResolver _mixIns - Mapping that defines how to apply mix-in annotations: key is the type to received additional annotations, and value is the type that has annotations to "mix in".
  • protected ConfigOverrides _propertyOverrides - Currently active per-type configuration overrides, accessed by declared type of property.
  • protected Set<Object> _registeredModuleTypes - Set of module types (as per Module.getTypeId() that have been registered; kept track of iff MapperFeature.IGNORE_DUPLICATE_MODULE_REGISTRATIONS is enabled, so that duplicate registration calls can be ignored (to avoid adding same handlers multiple times, mostly).
  • protected ConcurrentHashMap<JavaType,JsonDeserializer<Object>> _rootDeserializers - We will use a separate main-level Map for keeping track of root-level deserializers.
  • protected SerializationConfig _serializationConfig - Configuration object that defines basic global settings for the serialization process.
  • protected SerializerFactory _serializerFactory - Serializer factory used for constructing serializers.
  • protected DefaultSerializerProvider _serializerProvider - Object that manages access to serializers used for serialization, including caching.
  • protected SubtypeResolver _subtypeResolver - Thing used for registering sub-types, resolving them to super/sub-types as needed.
  • protected TypeFactory _typeFactory - Specific factory used for creating JavaType instances; needed to allow modules to add more custom type handling (mostly to support types of non-Java JVM languages).
  • protected static AnnotationIntrospector DEFAULT_ANNOTATION_INTROSPECTOR
  • protected static BaseSettings DEFAULT_BASE - Base settings contain defaults used for all ObjectMapper instances.
  • protected static VisibilityChecker<?> STD_VISIBILITY_CHECKER

Constructors

S.No.Constructor & Description
1ObjectMapper()
Default constructor, which will construct the default JsonFactory as necessary, use SerializerProvider as its SerializerProvider, and BeanSerializerFactory as its SerializerFactory.
2ObjectMapper(JsonFactory jf)
Constructs instance that uses specified JsonFactory for constructing necessary JsonParsers and/or JsonGenerators.
3ObjectMapper(JsonFactory jf, SerializerProvider sp, DeserializerProvider dp)
Constructs instance that uses specified JsonFactory for constructing necessary JsonParsers and/or JsonGenerators, and uses given providers for accessing serializers and deserializers.
4protected ObjectMapper(ObjectMapper src)
Copy-constructor, mostly used to support copy().

Methods

Overridable helper method used for constructing SerializerProvider to use for serialization. void addMixInAnnotations(Class<?> target, Class<?> mixinSource) - Deprecated. Since 2.5: replaced by a fluent form of the method; addMixIn(Class, Class). protected DefaultDeserializationContext createDeserializationContext(JsonParser p, DeserializationConfig cfg) - Internal helper method called to create an instance of DeserializationContext for deserializing a single root value. JsonSchema generateJsonSchema(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)) void registerSubtypes(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). void setFilters(FilterProvider filterProvider) - Deprecated. Since 2.6, use setFilterProvider(com.fasterxml.jackson.databind.ser.FilterProvider) instead (allows chaining) Factory method for constructing ObjectReader that will use specified character escaping details for output.
1protected void _checkInvalidCopy(Class<?> exp)
2protected void _configAndWriteValue(JsonGenerator g, Object value) - Method called to configure the generator as necessary and then call write functionality
3protected Object _convert(Object fromValue, JavaType toValueType) - Actual conversion implementation: instead of using existing read and write methods, much of code is inlined.
4protected JsonDeserializer<Object> _findRootDeserializer(DeserializationContext ctxt, JavaType valueType) - Method called to locate deserializer for the passed root-level value.
5protected JsonToken _initForReading(JsonParser p) - Method called to ensure that given parser is ready for reading content for data binding.
6protected ObjectReader _newReader(DeserializationConfig config) - Factory method sub-classes must override, to produce ObjectReader instances of proper sub-type
7protected ObjectReader _newReader(DeserializationConfig config, JavaType valueType, Object valueToUpdate, FormatSchema schema, InjectableValues injectableValues) - Factory method sub-classes must override, to produce ObjectReader instances of proper sub-type
8protected ObjectWriter _newWriter(SerializationConfig config) - Factory method sub-classes must override, to produce ObjectWriter instances of proper sub-type
9protected ObjectWriter _newWriter(SerializationConfig config, FormatSchema schema) - Factory method sub-classes must override, to produce ObjectWriter instances of proper sub-type
10protected ObjectWriter _newWriter(SerializationConfig config, JavaType rootType, PrettyPrinter pp) - Factory method sub-classes must override, to produce ObjectWriter instances of proper sub-type.
11protected Object _readMapAndClose(JsonParser p0, JavaType valueType)
12protected Object _readValue(DeserializationConfig cfg, JsonParser p, JavaType valueType) - Actual implementation of value reading+binding operation.
13protected DefaultSerializerProvider _serializerProvider(SerializationConfig config)
14protected Object _unwrapAndDeserialize(JsonParser p, DeserializationContext ctxt, DeserializationConfig config, JavaType rootType, JsonDeserializer<Object> deser)
15protected void _verifySchemaType(FormatSchema schema)
16void acceptJsonFormatVisitor(Class<?> type, JsonFormatVisitorWrapper visitor) - Method for visiting type hierarchy for given type, using specified visitor.
17void acceptJsonFormatVisitor(JavaType type, JsonFormatVisitorWrapper visitor) - Method for visiting type hierarchy for given type, using specified visitor.
18ObjectMapper addHandler(DeserializationProblemHandler h) - Method for adding specified DeserializationProblemHandler to be used for handling specific problems during deserialization.
19ObjectMapper addMixIn(Class<?> target, Class<?> mixinSource) - Method to use for adding mix-in annotations to use for augmenting specified class or interface.
20boolean canDeserialize(JavaType type) - Method that can be called to check whether mapper thinks it could deserialize an Object of given type.
21boolean canDeserialize(JavaType type, AtomicReference<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.
22boolean canSerialize(Class<?> type) - Method that can be called to check whether mapper thinks it could serialize an instance of given Class.
23boolean canSerialize(Class<?> type, AtomicReference<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.
24ObjectMapper clearProblemHandlers() - Method for removing all registered DeserializationProblemHandlers instances from this mapper.
25MutableConfigOverride configOverride(Classlt;?> 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.
26ObjectMapper configure(DeserializationFeature f, boolean state) - Method for changing state of an on/off deserialization feature for this object mapper.
27ObjectMapper configure(JsonGenerator.Feature f, boolean state) - Method for changing state of an on/off JsonGenerator feature for generator instances this object mapper creates.
28ObjectMapper configure(JsonParser.Feature f, boolean state) - Method for changing state of specified JsonParser.Features for parser instances this object mapper creates.
29ObjectMapper configure(MapperFeature f, boolean state) - Method for changing state of an on/off mapper feature for this mapper instance.
30ObjectMapper configure(SerializationFeature f, boolean state) - Method for changing state of an on/off serialization feature for this object mapper.
31JavaType constructType(Type t) - Convenience method for constructing JavaType out of given type (typically java.lang.Class), but without explicit context.
32<T> T convertValue(Object fromValue, Class<T> toValueType) - Convenience method for doing two-step conversion from given value, into instance of given value type, if (but only if!) conversion is needed.
33<T> T convertValue(Object fromValue, JavaType toValueType) - See convertValue(Object, Class)
34<T> T convertValue(Object fromValue, TypeReference<?> toValueTypeRef) - See convertValue(Object, Class)
35ObjectMapper copy() - Method for creating a new ObjectMapper instance that has same initial configuration as this instance.
36ArrayNode createArrayNode() - Note: return type is co-variant, as basic ObjectCodec abstraction can not refer to concrete node types (as it's part of core package, whereas impls are part of mapper package)
37ObjectNode createObjectNode() - Note: return type is co-variant, as basic ObjectCodec abstraction can not refer to concrete node types (as it's part of core package, whereas impls are part of mapper package)
38protected ClassIntrospector defaultClassIntrospector() - Overridable helper method used to construct default ClassIntrospector to use.
39ObjectMapper disable(DeserializationFeature feature) - Method for enabling specified DeserializationConfig features.
40ObjectMapper disable(DeserializationFeature first, DeserializationFeature... f) - Method for enabling specified DeserializationConfig features.
41ObjectMapper disable(JsonGenerator.Feature... features) - Method for disabling specified JsonGenerator.Features for parser instances this object mapper creates.
42ObjectMapper disable(JsonParser.Feature... features) - Method for disabling specified JsonParser.Features for parser instances this object mapper creates.
43ObjectMapper disable(MapperFeature... f) - Method for enabling specified DeserializationConfig features.
44ObjectMapper disable(SerializationFeature f) - Method for enabling specified DeserializationConfig features.
45ObjectMapper disable(SerializationFeature first, SerializationFeature... f) - Method for enabling specified DeserializationConfig features.
46ObjectMapper disableDefaultTyping() - Method for disabling automatic inclusion of type information; if so, only explicitly annotated types (ones with JsonTypeInfo) will have additional embedded type information.
47ObjectMapper enable(DeserializationFeature feature) - Method for enabling specified DeserializationConfig features.
48ObjectMapper enable(DeserializationFeature first, DeserializationFeature... f) - Method for enabling specified DeserializationConfig features.
49ObjectMapper enable(JsonGenerator.Feature... features) - Method for enabling specified JsonGenerator.Features for parser instances this object mapper creates.
50ObjectMapper enable(JsonParser.Feature... features) - Method for enabling specified JsonParser.Features for parser instances this object mapper creates.
51ObjectMapper enable(MapperFeature... f) - Method for enabling specified MapperConfig features.
52ObjectMapper enable(SerializationFeature f) - Method for enabling specified DeserializationConfig feature.
53ObjectMapper enable(SerializationFeature first, SerializationFeature... f) - Method for enabling specified DeserializationConfig features.
54ObjectMapper enableDefaultTyping() - Convenience method that is equivalent to calling
55ObjectMapper enableDefaultTyping(ObjectMapper.DefaultTyping dti) - Convenience method that is equivalent to calling
56ObjectMapper enableDefaultTyping(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).
57ObjectMapper enableDefaultTypingAsProperty(ObjectMapper.DefaultTyping applicability, 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)
58ObjectMapper findAndRegisterModules() - Convenience method that is functionally equivalent to: mapper.registerModules(mapper.findModules());
59Class<?> findMixInClassFor(Class<?> cls)
60static List<Module> findModules() - Method for locating available methods, using JDK ServiceLoader facility, along with module-provided SPI.
61static List<Module> findModules(ClassLoader classLoader) - Method for locating available methods, using JDK ServiceLoader facility, along with module-provided SPI.
62DateFormat getDateFormat()
63DeserializationConfig getDeserializationConfig() - Method that returns the shared default DeserializationConfig object that defines configuration settings for deserialization.
64DeserializationContext getDeserializationContext() - Method for getting current DeserializationContext.
65JsonFactory getFactory() - Method that can be used to get hold of JsonFactory that this mapper uses if it needs to construct JsonParsers and/or JsonGenerators.
66InjectableValues getInjectableValues()
67JsonFactory getJsonFactory() - Deprecated. Since 2.1: Use getFactory() instead
68JsonNodeFactory getNodeFactory() - Method that can be used to get hold of JsonNodeFactory that this mapper will use when directly constructing root JsonNode instances for Trees.
69PropertyNamingStrategy getPropertyNamingStrategy()
70SerializationConfig getSerializationConfig() - Method that returns the shared default SerializationConfig object that defines configuration settings for serialization.
71SerializerFactory getSerializerFactory() - Method for getting current SerializerFactory.
72SerializerProvider 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).
73SerializerProvider getSerializerProviderInstance() - Accessor for constructing and returning a SerializerProvider instance that may be used for accessing serializers.
74SubtypeResolver getSubtypeResolver() - Method for accessing subtype resolver in use.
75TypeFactory getTypeFactory() - Accessor for getting currently configured TypeFactory instance.
76VisibilityChecker<?> 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.
77boolean isEnabled(DeserializationFeature f) - Method for checking whether given deserialization-specific feature is enabled.
78boolean isEnabled(JsonFactory.Feature f) - Convenience method, equivalent to:
79boolean isEnabled(JsonGenerator.Feature f)
80boolean isEnabled(JsonParser.Feature f)
81boolean isEnabled(MapperFeature f) - Method for checking whether given MapperFeature is enabled.
82boolean isEnabled(SerializationFeature f) - Method for checking whether given serialization-specific feature is enabled.
83int mixInCount()
84ObjectReader reader() - Factory method for constructing ObjectReader with default settings.
85ObjectReader reader(Base64Variant defaultBase64) - Factory method for constructing ObjectReader that will use specified Base64 encoding variant for Base64-encoded binary data.
86ObjectReader reader(Class<?> type) - Deprecated. Since 2.5, use readerFor(Class) instead
87ObjectReader reader(ContextAttributes attrs) - Factory method for constructing ObjectReader that will use specified default attributes.
88ObjectReader reader(DeserializationFeature feature) - Factory method for constructing ObjectReader with specified feature enabled (compared to settings that this mapper instance has).
89ObjectReader reader(DeserializationFeature first, DeserializationFeature... other)- Factory method for constructing ObjectReader with specified features enabled (compared to settings that this mapper instance has).
90ObjectReader reader(FormatSchema schema) - Factory method for constructing ObjectReader that will pass specific schema object to JsonParser used for reading content.
91ObjectReader reader(InjectableValues injectableValues) - Factory method for constructing ObjectReader that will use specified injectable values.
92ObjectReader reader(JavaType type) - Deprecated. Since 2.5, use readerFor(JavaType) instead
93ObjectReader reader(JsonNodeFactory f) - Factory method for constructing ObjectReader that will use specified JsonNodeFactory for constructing JSON trees.
94ObjectReader reader(TypeReference<?> type) - Deprecated. Since 2.5, use readerFor(TypeReference) instead
95ObjectReader readerFor(Class<?> type) - Factory method for constructing ObjectReader that will read or update instances of specified type
96ObjectReader readerFor(JavaType type) - Factory method for constructing ObjectReader that will read or update instances of specified type
97ObjectReader readerFor(TypeReference<?> type) - Factory method for constructing ObjectReader that will read or update instances of specified type
98ObjectReader readerForUpdating(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.
99ObjectReader readerWithView(Class<?> view) - Factory method for constructing ObjectReader that will deserialize objects using specified JSON View (filter).
100JsonNode readTree(byte[] content) - Method to deserialize JSON content as tree expressed using set of JsonNode instances.
101JsonNode readTree(File file) - Method to deserialize JSON content as tree expressed using set of JsonNode instances.
102JsonNode readTree(InputStream in) - Method to deserialize JSON content as tree expressed using set of JsonNode instances.
103<T extends TreeNode> T readTree(JsonParser p) - Method to deserialize JSON content as tree expressed using set of JsonNode instances.
104JsonNode readTree(Reader r) - Method to deserialize JSON content as tree expressed using set of JsonNode instances.
105JsonNode readTree(String content) - Method to deserialize JSON content as tree expressed using set of JsonNode instances.
106JsonNode readTree(URL source) - Method to deserialize JSON content as tree expressed using set of JsonNode instances.
107<T> T readValue(byte[] src, Class<T> valueType)
108<T> T readValue(byte[] src, int offset, int len, Class<T> valueType)
109<T> T readValue(byte[] src, int offset, int len, JavaType valueType)
110<T> T readValue(byte[] src, int offset, int len, TypeReference valueTypeRef)
111<T> T readValue(byte[] src, JavaType valueType)
112<T> T readValue(byte[] src, TypeReference valueTypeRef)
113<T> T readValue(DataInput src, Class<T> valueType)
114<T> T readValue(DataInput src, JavaType valueType)
115<T> T readValue(File src, Class<T> valueType) - Method to deserialize JSON content from given file into given Java type.
116<T> T readValue(File src, JavaType valueType) - Method to deserialize JSON content from given file into given Java type.
117<T> T readValue(File src, TypeReference valueTypeRef) - Method to deserialize JSON content from given file into given Java type.
118<T> T readValue(InputStream src, Class<T> valueType)
119<T> T readValue(InputStream src, JavaType valueType)
120<T> T readValue(InputStream src, TypeReference valueTypeRef)
121<T> T readValue(JsonParser p, 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).
122<T> T readValue(JsonParser p, JavaType valueType) - Type-safe overloaded method, basically alias for readValue(JsonParser, Class).
123<T> T readValue(JsonParser p, ResolvedType valueType) - Method to deserialize JSON content into a Java type, reference to which is passed as argument.
124<T> T readValue(JsonParser p, TypeReference<?> valueTypeRef) - Method to deserialize JSON content into a Java type, reference to which is passed as argument.
125<T> T readValue(Reader src, Class<T> valueType) -
1<T> T readValue(Reader src, JavaType valueType)
126<T> T readValue(Reader src, TypeReference valueTypeRef)
127<T> T readValue(String content, Class<T> valueType) - Method to deserialize JSON content from given JSON content String.
128<T> T readValue(String content, JavaType valueType) - Method to deserialize JSON content from given JSON content String.
129<T> T readValue(String content, TypeReference valueTypeRef) - Method to deserialize JSON content from given JSON content String.
130<T> T readValue(URL src, Class<T> valueType) - Method to deserialize JSON content from given resource into given Java type.
131<T> T readValue(URL src, JavaType valueType)
132<T> T readValue(URL src, TypeReference valueTypeRef) - Method to deserialize JSON content from given resource into given Java type.
133<T> MappingIterator<T> readValues(JsonParser p, Class<T> valueType) - Convenience method, equivalent in function to:
134<T> MappingIterator<T> readValues(JsonParser p, JavaType valueType) - Convenience method, equivalent in function to:
135<T> MappingIterator<T> readValues(JsonParser p, ResolvedType valueType) - Convenience method, equivalent in function to:
136<T> MappingIterator<T> readValues(JsonParser p, TypeReference<?>valueTypeRef) - Method for reading sequence of Objects from parser stream.
137ObjectMapper 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.
138ObjectMapper registerModules(Iterable<Module> modules) - Convenience method for registering specified modules in order; functionally equivalent to:
139ObjectMapper registerModules(Module... modules) - Convenience method for registering specified modules in order; functionally equivalent to:
140void 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).
141ObjectMapper setAnnotationIntrospector(AnnotationIntrospector ai) - Method for setting AnnotationIntrospector used by this mapper instance for both serialization and deserialization.
142ObjectMapper 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.
143ObjectMapper setBase64Variant(Base64Variant v) - Method that will configure default Base64Variant that byte[] serializers and deserializers will use.
144ObjectMapper setConfig(DeserializationConfig config) - Method that allows overriding of the underlying DeserializationConfig object.
145ObjectMapper setConfig(SerializationConfig config) - Method that allows overriding of the underlying SerializationConfig object, which contains serialization-specific configuration settings.
146ObjectMapper setDateFormat(DateFormat dateFormat) - Method for configuring the default DateFormat to use when serializing time values as Strings, and deserializing from JSON Strings.
147ObjectMapper setDefaultPrettyPrinter(PrettyPrinter pp) - Method for specifying PrettyPrinter to use when "default pretty-printing" is enabled (by enabling SerializationFeature.INDENT_OUTPUT)
148ObjectMapper 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.
149ObjectMapper setFilterProvider(FilterProvider filterProvider) - Method for configuring this mapper to use specified FilterProvider for mapping Filter Ids to actual filter instances.
150Object 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.
151ObjectMapper setInjectableValues(InjectableValues injectableValues) - Method for configuring InjectableValues which used to find values to inject.
152ObjectMapper setLocale(Locale l) - Method for overriding default locale to use for formatting.
153void setMixInAnnotations(Map<Class<?>,Class<?>> sourceMixins) - Deprecated. Since 2.5: replaced by a fluent form of the method; setMixIns(java.util.Map<java.lang.Class<?>, java.lang.Class<?>>).
154ObjectMapper setMixInResolver(ClassIntrospector.MixInResolver resolver) - Method that can be called to specify given resolver for locating mix-in classes to use, overriding directly added mappings.
155ObjectMapper setMixIns(Map<Class<?>,Class<?>> sourceMixins) - Method to use for defining mix-in annotations to use for augmenting annotations that processable (serializable / deserializable) classes have.
156ObjectMapper setNodeFactory(JsonNodeFactory f) - Method for specifying JsonNodeFactory to use for constructing root level tree nodes (via method createObjectNode()
157ObjectMapper setPropertyInclusion(JsonInclude.Value incl) - Method for setting default POJO property inclusion strategy for serialization.
158ObjectMapper setPropertyNamingStrategy(PropertyNamingStrategy s) - Method for setting custom property naming strategy to use.
159ObjectMapper setSerializationInclusion(JsonInclude.Include incl) - Convenience method, equivalent to calling:
160ObjectMapper setSerializerFactory(SerializerFactory f) - Method for setting specific SerializerFactory to use for constructing (bean) serializers.
161ObjectMapper 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.
162ObjectMapper setSubtypeResolver(SubtypeResolver str) - Method for setting custom subtype resolver to use.
163ObjectMapper setTimeZone(TimeZone tz) - Method for overriding default TimeZone to use for formatting.
164ObjectMapper setTypeFactory(TypeFactory f) - Method that can be used to override TypeFactory instance used by this mapper.
165ObjectMapper setVisibility(PropertyAccessor forMethod, JsonAutoDetect.Visibility visibility) - Convenience method that allows changing configuration for underlying VisibilityCheckers, to change details of what kinds of properties are auto-detected.
166ObjectMapper setVisibility(VisibilityChecker<?> vc) - Method for setting currently configured VisibilityChecker, object used for determining whether given property element (method, field, constructor) can be auto-detected or not.
167void setVisibilityChecker(VisibilityChecker<?> vc) - Deprecated. Since 2.6 use setVisibility(VisibilityChecker) instead.
168JsonParser treeAsTokens(TreeNode n) - Method for constructing a JsonParser out of JSON tree representation.
169<T> T treeToValue(TreeNode n, Class<T> valueType) - Convenience conversion method that will bind data given JSON tree contains into specific value (usually bean) type.
170<T extends JsonNode> T valueToTree(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.
171Version version() - Method that will return version information stored in and read from jar that contains this class.
172ObjectWriter writer() - Convenience method for constructing ObjectWriter with default settings.
173ObjectWriter writer(Base64Variant defaultBase64) - Factory method for constructing ObjectWriter that will use specified Base64 encoding variant for Base64-encoded binary data.
174ObjectWriter writer(CharacterEscapes escapes) -
175ObjectWriter writer(ContextAttributes attrs) - Factory method for constructing ObjectWriter that will use specified default attributes.
176ObjectWriter writer(DateFormat df) - Factory method for constructing ObjectWriter that will serialize objects using specified DateFormat; or, if null passed, using timestamp (64-bit number.
177ObjectWriter writer(FilterProvider filterProvider) - Factory method for constructing ObjectWriter that will serialize objects using specified filter provider.
178ObjectWriter writer(FormatSchema schema) - Factory method for constructing ObjectWriter that will pass specific schema object to JsonGenerator used for writing content.
179ObjectWriter writer(PrettyPrinter pp) - Factory method for constructing ObjectWriter that will serialize objects using specified pretty printer for indentation (or if null, no pretty printer)
180ObjectWriter writer(SerializationFeature feature) - Factory method for constructing ObjectWriter with specified feature enabled (compared to settings that this mapper instance has).
181ObjectWriter writer(SerializationFeature first, SerializationFeature... other) - Factory method for constructing ObjectWriter with specified features enabled (compared to settings that this mapper instance has).
182ObjectWriter writerFor(Class<?> rootType) - Factory method for constructing ObjectWriter that will serialize objects using specified root type, instead of actual runtime type of value.
183ObjectWriter writerFor(JavaType rootType) - Factory method for constructing ObjectWriter that will serialize objects using specified root type, instead of actual runtime type of value.
184ObjectWriter writerFor(TypeReference<?> rootType) - Factory method for constructing ObjectWriter that will serialize objects using specified root type, instead of actual runtime type of value.
185ObjectWriter writerWithDefaultPrettyPrinter() - Factory method for constructing ObjectWriter that will serialize objects using the default pretty printer for indentation.
186ObjectWriter writerWithType(Class<?> rootType) - Deprecated. Since 2.5, use writerFor(Class) instead.
187ObjectWriter writerWithType(JavaType rootType) - Deprecated. Since 2.5, use writerFor(JavaType) instead.
188ObjectWriter writerWithType(TypeReference<?> rootType) - Deprecated. Since 2.5, use writerFor(TypeReference) instead.
189ObjectWriter writerWithView(Class<?> serializationView) - Factory method for constructing ObjectWriter that will serialize objects using specified JSON View (filter).
190void writeTree(JsonGenerator jgen, JsonNode rootNode) - Method to serialize given JSON Tree, using generator provided.
191void writeTree(JsonGenerator jgen, TreeNode rootNode)
192void writeValue(DataOutput out, Object value)
193void writeValue(File resultFile, Object value) - Method that can be used to serialize any Java value as JSON output, written to File provided.
194void writeValue(JsonGenerator g, Object value) - Method that can be used to serialize any Java value as JSON output, using provided JsonGenerator.
195void writeValue(OutputStream out, Object value) - Method that can be used to serialize any Java value as JSON output, using output stream provided (using encoding JsonEncoding.UTF8).
196void writeValue(Writer w, Object value) - Method that can be used to serialize any Java value as JSON output, using Writer provided.
197byte[] writeValueAsBytes(Object value) - Method that can be used to serialize any Java value as a byte array.
198String writeValueAsString(Object value) - Method that can be used to serialize any Java value as a String.

Methods inherited

This class inherits methods from the following classes:
  • java.lang.Object

ObjectMapper Example

Create the following java program using any editor of your choice in say C:/> Jackson_WORKSPACE
File: JacksonTester.java
import java.io.IOException;

import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;

public class JacksonTester {
   public static void main(String args[]){
   
      ObjectMapper mapper = new ObjectMapper();
      String jsonString = "{\"name\":\"Mahesh\", \"age\":21}";
      
      //map json to student
      try{
         Student student = mapper.readValue(jsonString, Student.class);
         
         System.out.println(student);
         
         jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(student);
         
         System.out.println(jsonString);
      }
      catch (JsonParseException e) { e.printStackTrace();}
      catch (JsonMappingException e) { e.printStackTrace(); }
      catch (IOException e) { e.printStackTrace(); }
   }
}

class Student {
   private String name;
   private int age;
   public Student(){}
   public String getName() {
      return name;
   }
   public void setName(String name) {
      this.name = name;
   }
   public int getAge() {
      return age;
   }
   public void setAge(int age) {
      this.age = age;
   }
   public String toString(){
      return "Student [ name: "+name+", age: "+ age+ " ]";
   }
}
Verify the result
Compile the classes using javac compiler as follows:
C:\Jackson_WORKSPACE>javac JacksonTester.java
Now run the jacksonTester to see the result:
C:\Jackson_WORKSPACE>java JacksonTester
Verify the Output
Student [ name: Mahesh, age: 21 ]
{
  "name" : "Mahesh",
  "age" : 21
}

No comments:

Post a Comment

Popular Posts