Jackson - ObjectMapper类

简介

ObjectMapper是杰克逊图书馆的主要演员类. ObjectMapper类ObjectMapper提供了从基本POJO(普通旧Java对象)或从通用JSON树模型(JsonNode)读取和写入JSON的功能,以及执行转换的相关功能.它还具有高度可定制性,可以使用不同样式的JSON内容,并支持更高级的Object概念,如多态和对象标识. ObjectMapper还充当更高级的ObjectReader和ObjectWriter类的工厂.

类声明

以下是 com.fasterxml的声明. jackson.databind.ObjectMapper class :

public class ObjectMapper
   extends ObjectCodec
      implements Versioned, Serializable

嵌套类

S.No.Class&描述
1静态类ObjectMapper.DefaultTypeResolverBuilder

自定义TypeResolverBuilder,提供与所谓的"默认输入"一起使用的类型解析器构建器(有关详细信息,请参阅enableDefaultTyping()).

2静态类ObjectMapper.DefaultTyping

与enableDefaultTyping()一起使用的枚举指定应该使用哪种类型(类)默认输入.

字段

  • protected DeserializationConfig _deserializationConfig  - 定义序列化过程的基本全局设置的配置对象.

  • protected DefaultDeserializationContext _deserializationContext  - 蓝图上下文对象;存储在此处以允许自定义子类.

  • protected InjectableValues _injectableValues  - 要在反序列化的POJO中注入的值的提供者.

  • 受保护的JsonFactory _jsonFactory  - 工厂用于根据需要创建JsonParser和JsonGenerator实例.

  • protected SimpleMixInResolver _mixIns  - 定义如何应用混合注释的映射:key是接收附加注释的类型,value是具有"混入"注释的类型.

  • protected ConfigOverrides _propertyOverrides  - 当前有效的每类型配置覆盖,由声明的属性类型访问.

  • 受保护的Set< Object> _registeredModuleTypes  - 模块类型集(根据Module.getTypeId()已注册;保持跟踪iff MapperFeature.IGNORE_DUPLICATE_MODULE_REGISTRATIONS,以便可以忽略重复的注册调用(以避免多次添加相同的处理程序,

  • 受保护的ConcurrentHashMap< JavaType,JsonDeserializer< Object>> _rootDeserializers  - 我们将使用单独的主级别Map用于跟踪根级反序列化器.

  • protected SerializationConfig _serializationConfig  - 定义序列化过程的基本全局设置的配置对象.

  • protected SerializerFactory _serializerFactory  - 用于构建序列化程序的Serializer工厂.

  • 受保护DefaultSerializerProvider _serializerProvider  - 管理对用于序列化的序列化程序的访问的对象,包括缓存.

  • protected Sub typeResolver _subtypeResolver  - 用于注册子类型的东西,根据需要将它们解析为超级/子类型.

  • protected TypeFactory _typeFactory  - 用于创建JavaType实例的特定工厂;需要允许模块添加更多自定义类型处理(主要是为了支持非Java JVM语言的类型).

  • protected static AnnotationIntrospector DEFAULT_ANNOTATION_INTROSPECTOR

  • 受保护的静态BaseSettings DEFAULT_BASE  - 基本设置包含用于所有ObjectMapper实例的默认值.

  • 受保护的静态VisibilityChecker<?> STD_VISIBILITY_CHECKER

构造函数

S.No.构造函数&说明
1 ObjectMapper()

默认构造函数,它将默认的JsonFactory构造为必要时,使用SerializerProvider作为其SerializerProvider,并使用BeanSerializerFactory作为其SerializerFactory.

2 ObjectMapper(JsonFactory) jf)

构造使用指定的JsonFactory构造必要的JsonParsers和/或JsonGenerators的实例.

3 ObjectMapper(JsonFactory jf,SerializerProvider sp,DeserializerProvider dp)

构造使用指定的JsonFactory构造必要的JsonParsers和/或JsonGenerator的实例,并使用给定的提供程序访问序列化程序和反序列化程序.

4受保护的ObjectMapper(ObjectMapper src)

复制构造函数,主要用于支持copy().

方法


用于构造SerializerProvider的可覆盖辅助方法用于序列化.
void addMixInAnnotations(Class<?> target,Class<? > mixinSource)  - 已弃用.从2.5开始:用流利的方法代替; addMixIn(Class,Class).
protected DefaultDeserializationContext createDeserializationContext(JsonParser p,DeserializationConfig cfg)  - 调用内部帮助器方法创建DeserializationContext实例,用于反序列化单个根值.
JsonSchema generateJsonSchema(Class<?> t)   - 已弃用.从2.6开始使用外部JSON Schema生成器(https://github.com/FasterXML/jackson-module-jsonSchema)(在引擎盖下调用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 setFilt ers(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.$b $b

1protected void _checkInvalidCopy(Class<?> exp)
2 protected void _configAndWriteValue(JsonGenerator g,Object value)  - 调用根据需要配置生成器然后调用写入功能的方法
3 protected Object _convert(Object fromValue,JavaType toValueType)  - 实际转换实现:代替使用现有的读写方法,大部分代码都是内联的.
4 protected JsonDeserializer< Object> _findRootDeserializer(DeserializationContext ctxt,JavaType valueType)  - 为传递的根级值定位反序列化器的方法.
5 protected JsonToken _initForReading(JsonParser p)  - 调用方法以确保给定的解析器已准备好读取数据绑定的内容.
6 protected ObjectReader _newReader(DeserializationConfig config)  - 工厂方法子类必须覆盖,以生成正确子类型的ObjectReader实例
7 protected ObjectReader _newReader(DeserializationConfig config,JavaType valueType,Object valueToUpdate,FormatSchema schema,InjectableValues injectableValues)  - 工厂方法子类必须override,生成正确子类型的ObjectReader实例
8 protected ObjectWriter _newWriter(SerializationConfig config)  - 工厂方法子类必须覆盖,才能生成ObjectWriter正确子类型的立场
9protected ObjectWriter _newWriter(SerializationConfig config, FormatSchema schema)  - 工厂方法子类必须覆盖,以生成适当子类型的ObjectWriter实例
10protected ObjectWriter _newWriter(SerializationConfig config, JavaType rootType, PrettyPrinter pp)  - 工厂方法子类必须覆盖,以生成正确子类型的ObjectWriter实例.
11protected Object _readMapAndClose(JsonParser p0, JavaType valueType)
12 protected Object _readValue(DeserializationConfig cfg,JsonParser p,JavaType valueType)  -  
值读取+绑定操作的实际实现.
13protected DefaultSerializerProvider _serializerProvider(SerializationConfig config)
14 protected Object _unwrapAndDeserialize(JsonParser p,DeserializationContext ctxt,DeserializationConfig config,JavaType rootType,JsonDeserializer< Object> deser)
15 protected void _verifySchemaType(FormatSchema schema)
16 void acceptJsonFormatVisitor(Class<?> type,JsonFormatVisitorWrapper visitor)  - 使用指定访问者访问给定类型的类型层次结构的方法.
17 void acceptJsonFormatVisitor(JavaType type,JsonFormatVisitorWrapper visitor)  - 使用给定类型访问类型层次结构的方法指定访问者.
18 ObjectMapper addHandler(DeserializationProblemHandler h)  - 添加指定的DeserializationProblemHandler的方法用于在反序列化期间处理特定问题.
19 ObjectMapper addMixIn(Class<?> targe t,Class<?> mixinSource)  - 用于添加混合注释以用于扩充指定类或接口的方法.
20 boolean canDeserialize(JavaType type)  - 可以的方法调用以检查mapper是否认为它可以反序列化给定类型的Object.
21 boolean canDeserialize(JavaType类型) ,AtomicReference< Throwable> cause)  - 类似于canDeserialize(JavaType)的方法,但是它可以返回在尝试构造序列化程序时抛出的实际Throwable:这可能有助于弄清楚实际问题是什么.
22 boolean canSerialize(Class<?> type)  - 可以调用以检查mapper的方法认为它可以序列化给定类的实例.
23 boolean canSerialize(Class<?> type,AtomicReference&lt ; Throwable> cause)  - 类似于canSerialize(Class)的方法但可以返回在尝试构造序列化程序时抛出的实际Throwable:这可能对于计算ou实际问题是什么.
24 ObjectMapper clearProblemHandlers()  - 删除所有注册的方法来自此映射器的DeserializationProblemHandlers实例.
25 MutableConfigOverride configOverride(Classlt;?> type)  - 获取可变配置的访问器覆盖给定类型的对象,需要添加或更改应用于给定类型属性的每种类型覆盖.
26 ObjectMapper configure(DeserializationFeature f,boolean state)  - 更改此对象映射器的开/关反序列化功能状态的方法.
27 ObjectMapper configure(JsonGenerator.Feature f,boolean state)  - 更改开/关JsonGenerator功能状态的方法对于生成器实例,此对象映射器创建.
28 ObjectMapper configure(JsonParser.Feature f,boolean state)  - 为此对象映射器创建的解析器实例更改指定JsonParser.Features状态的方法.
29 ObjectMapper configure(MapperFeature f,boolean state)  - 更改此映射器实例的开/关映射器功能状态的方法.
30 ObjectMapper configure(SerializationFeature f,boolean state)  - 更改此对象映射器的开/关序列化功能状态的方法.
31 JavaType constructType(Type t)  - 从给定类型(通常是java.lang.Class)构造JavaType但没有显式上下文的便捷方法.
32< T> T convertValue(Object fromValue,Class< T> toValueType)  - 用于从给定值进行两步转换的便捷方法,转换为给定值类型的实例,if if(但仅限于!)转换.
33< T> T convertValue(Object fromValue,JavaType toValueType)  - 请参阅convertValue(Object,Class)
34 &LT; T&GT; T convertValue(Object fromValue,TypeReference<?> toValueTypeRef)  - 请参阅convertValue(Object,Class)
35 ObjectMapper copy()  - 用于创建与此实例具有相同初始配置的新ObjectMapper实例的方法.
36 ArrayNode createArrayNode()  - 注意:返回类型是共变体,因为基本的ObjectCodec抽象不能引用具体的节点类型(因为它是核心包的一部分,而impls是mapper包)
37 ObjectNode createObjectNode()  - 注意:返回类型是co-variant,因为基本的ObjectCodec抽象不能指的是具体的节点类型(因为它是核心包的一部分,而impls是映射器包的一部分)
38protected ClassIntrospector defaultClassIntrospector()  - 可覆盖的助手用于构造要使用的默认ClassIntrospector的方法.
39 ObjectMapper disable(DeserializationFeature feature)  - 方法用于启用指定的DeserializationConfig功能.
40 ObjectMapper disable(DeserializationFeature first, DeserializationFeature... f)  - 启用指定DeserializationConfig功能的方法.
41 ObjectMapper disable(JsonGenerator.Feature ... features)  - 为此对象映射器创建的解析器实例禁用指定的JsonGenerator.Features的方法.
42 ObjectMapper disable(JsonParser.Feature... features)   - 为此对象映射器创建的解析器实例禁用指定的JsonParser.Features的方法.
43 ObjectMapper disa ble(MapperFeature ... f)  - 启用指定DeserializationConfig功能的方法.
44 ObjectMapper disable(SerializationFeature f)  - 启用指定DeserializationConfig功能的方法.
45 ObjectMapper disable(SerializationFeature)首先,SerializationFeature ... f)  - 启用指定的DeserializationConfig功能的方法.
46 ObjectMapper disableDefaultTyping()  - 禁用自动包含类型信息的方法;如果是这样,只有明确注释的类型(具有JsonTypeInfo的类型)将具有其他嵌入类型信息.
47ObjectMapper enable(DeserializationFeature feature)   - 启用指定DeserializationConfig功能的方法.
48ObjectMapper enable(DeserializationFeature first, DeserializationFeature... f)  - 启用指定DeserializationConfig功能的方法.
49ObjectMapper enable(JsonGenerator.Feature... features)  - 为此对象映射器创建的解析器实例启用指定JsonGenerator.Features的方法.
50 ObjectMapper enable(JsonParser.Feature ... features)  - 为此对象映射器创建的解析器实例启用指定JsonParser.Features的方法.
51 ObjectMapper enable(MapperFeature ... f)  - 启用指定MapperConfig功能的方法.
52 ObjectMapper enable(SerializationFeature f)  - 启用指定DeserializationConfig功能的方法.
53 ObjectMapper enable(SerializationFeature优先,SerializationFeature ... f)  - 启用指定DeserializationConfig功能的方法.
54 ObjectMapper enableDefaultTyping()  - 等同于调用的便捷方法
55 ObjectMapper enableDefaultTyping(ObjectMapper.DefaultTyping dti)  - 等同于调用的便捷方法
56 ObjectMapper enableDefaultTyping(ObjectMapper.DefaultTyping applicability,JsonTypeInfo.As includeAs)  - 启用自动包含类型信息的方法,适用于多态类型的反序列化所需(除非使用JsonTypeInfo注释了类型.
57 ObjectMapper enableDefaultTypingAsProperty(ObjectMapper.DefaultTyping applicability,String propertyName)  - 启用自动包含类型信息的方法 - 正确反序列化多态类型所需的方法(除非类型已使用JsonTypeInfo注释) - 使用"As.PROPERTY"包含机制和指定的属性名称用于包含(默认为"@class",因为默认类型信息始终使用类名作为类型标识符)
58 ObjectMapper findAndRegisterModules ()  - 在功能上等同于以下的便捷方法:mapper.registerModules(mapper.findModules());
59Class<?> findMixInClassFor(Class<?> cls)
60static List<Module> findModules()  - 使用JDK ServiceLoader工具查找可用方法的方法,以及模块提供的SPI.
61static List<Module> findModules(ClassLoader classLoader) - 使用JDK ServiceLoader工具定位可用方法的方法,以及模块提供的SPI.
62 DateFormat getDateFormat()
63 DeserializationConfig getDeserializationConfig()  - 返回共享默认DeserializationConfig对象的方法,该对象定义反序列化的配置设置.
64 DeserializationContext getDeserializationContext()  - 获取当前DeserializationContext的方法.
65 JsonFactory getFactory()  - 可用于获取此映射器在需要构造JsonParsers和/或JsonGenerators时使用的JsonFactory的方法.
66 InjectableValues getInjectableValues()
67 JsonFactory getJsonFactory()  - 已弃用.从2.1开始:使用getFactory()而不是
68 JsonNodeFactory getNodeFactory()  - 可以的方法用于获取此映射器在直接构建树的根JsonNode实例时将使用的JsonNodeFactory.
69 PropertyNamingStrategy getPropertyNamingStrategy()
70 SerializationConfig getSerializationConfig()  - 返回共享的方法默认SerializationConfig对象,用于定义序列化的配置设置.
71 SerializerFactory getSerializerFactory()  - 方法获取当前的SerializerFactory.
72 SerializerProvider getSerializerProvider()  - "蓝图"的访问者(或,factory)实例,通过调用DefaultSerializerProvider.createInstance(com.fasterxml.jackson.databind.SerializationConfig,com.fasterxml.jackson.databind.ser.Se)从中创建实例. rializerFactory).
73 SerializerProvider getSerializerProviderInstance()  - 用于构造和返回SerializerProvider实例的访问器可用于访问序列化程序.
74 SubtypeResolver getSubtypeResolver()  - 访问子类型解析器的方法正在使用.
75 TypeFactory getTypeFactory()  - 获取当前配置的TypeFactory实例的访问器./td>
76 VisibilityChecker<?> getVisibilityChecker()  - 访问当前配置的可见性检查器的方法;用于确定是否可以自动检测给定属性元素(方法,字段,构造函数)的对象.
77 boolean isEnabled(DeserializationFeature f)  - 检查是否启用给定反序列化特征的方法.
78 boolean isEnabled(JsonFactory.Feature f)  - 便捷方法,相当于:
79 boolean isEnabled(JsonGenerator.Feature f)
80 boolean isEnabled(JsonParser.Feature f )
81 boolean isEnabled(MapperFeature f)  - 检查是否给定的方法MapperFeature已启用.
82 boolean isEnabled(SerializationFeature f)  - 检查给定序列化的方法特定功能已启用.
83 int mixInCount()
84 ObjectReader reader()  -  Facto使用默认设置构造ObjectReader的方法.
85 ObjectReader reader(Base64Variant defaultBase64)  - 工厂构造ObjectReader的方法,它将为Base64编码的二进制数据使用指定的Base64编码变体.
86 ObjectReader reader(Class<?> type)  - 已弃用.从2.5开始,使用readerFor(Class)代替
87 ObjectReader reader(ContextAttributes attrs)  - 工厂构造将使用指定默认属性的ObjectReader的方法.
88 ObjectReader reader(DeserializationFeature feature) - 用于构造启用了指定功能的ObjectReader的工厂方法(与此映射器实例具有的设置相比).
89 ObjectReader reader(DeserializationFeature first,DeserializationFeature ... other)  - 用于构造启用了指定功能的ObjectReader的工厂方法(与此映射器实例具有的设置相比).
90 ObjectReader reader(FormatSchema schema)  - 用于构造ObjectReader的工厂方法,该方法将特定的模式对象传递给用于读取内容的JsonParser.
91 ObjectReader reader(InjectableValues injectableValues)  - 构造将使用指定注入值的ObjectReader的工厂方法.
92 ObjectReader reader(JavaType type)   - 已弃用.从2.5开始,使用readerFor(JavaType)代替
93 ObjectReader reader(JsonNodeFactory f)   - 工厂用于构造ObjectReader的方法,该ObjectReader将使用指定的JsonNodeFactory来构造JSON树.
94 ObjectReader reader(TypeReference<?> type) - 已弃用.从2.5开始,使用readerFor(TypeReference)代替
95 ObjectReader readerFor(Class<?> type)  - 构造ObjectReader的工厂方法,它将读取或更新指定类型的实例
96 ObjectReader readerFor(JavaType type)  - 构造ObjectReader的工厂方法,它将读取或更新指定类型的实例
97 ObjectReader readerFor(TypeReference<?> type)  - 用于构造ObjectReader的工厂方法,该ObjectReader将读取或更新指定类型的实例
98 ObjectReader readerForUpdating(Object valueToUpdate)  - 构建ObjectReader的工厂方法,它将使用JSON更新给定的Object(通常是Bean,但也可以是Collection或Map,但不是数组) data.
99 ObjectReader readerWithView(Class<?> view)  - 构建工厂的方法ObjectReade r将使用指定的JSON视图(过滤器)反序列化对象.
100 JsonNode readTree(byte [] content)  - 将JSON内容反序列化为使用JsonNode实例集表示的树的方法.
101 JsonNode readTree(File file) - 将JSON内容反序列化为使用JsonNode实例集表示的树的方法.
102 JsonNode readTree(InputStream in)  - 将JSON内容反序列化为使用JsonNode实例集表示的树的方法.
103< T extends TreeNode> T readTree(JsonParser p)  - 将JSON内容反序列化为使用JsonNode实例集表示的树的方法.
104 JsonNode readTree(Reader r)  - 将JSON内容反序列化为使用JsonNode实例集表示的树的方法.
105 JsonNode readTree(String content)  - 将JSON内容反序列化为使用JsonNode实例集表示的树的方法.
106 JsonNode readTree(URL source)  - 将JSON内容反序列化为使用JsonNode实例集表示的树的方法.
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)  - 将给定文件中的JSON内容反序列化为给定Java类型的方法.
116<T> T readValue(File src,JavaType valueType)  - 将给定文件中的JSON内容反序列化为给定Java类型的方法.
117<T> T readValue(File src,TypeReference valueTypeRef)  - 将给定文件中的JSON内容反序列化为给定Java类型的方法.
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)  - 将JSON内容反序列化为非容器类型的方法(但它可以是数组类型):通常是bean,数组或包装器类型(如Boolean ).
122< T> T readValue(JsonParser p,JavaType valueType)  - 类型安全的重载方法,基本上是readValue(JsonParser,Class)的别名.
123<T> T readValue(JsonParser p,ResolvedType valueType)  - 将JSON内容反序列化为Java类型的方法,将其引用作为参数传递.
124<T> T readValue(JsonParser p,TypeReference<?> valueTypeRef)  - 将JSON内容反序列化为Java类型的方法,引用作为参数传递.
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(字符串内容,类< T> valueType)  - 从给定的JSON内容字符串反序列化JSON内容的方法.
128<T> T readValue(String content,JavaType valueType)  - 从给定的JSON内容字符串反序列化JSON内容的方法.
129<T>  T readValue(String content,TypeReference valueTypeRef)  - 从给定的JSON内容字符串反序列化JSON内容的方法.
130<T> T readValue(URL src,Class< T> valueType)  - 将给定资源中的JSON内容反序列化为给定Java类型的方法.
131<T>  T readValue(URL src,JavaType valueType)
132< T> T readValue(URL src,TypeReference valueTypeRef)  - 将给定资源中的JSON内容反序列化为给定Java类型的方法.
133<T>  MappingIterator&LT; T&GT;
readValues(JsonParser p,Class< T> valueType)
 - 便捷方法,功能相当于:
134<T>  MappingIterator&LT; T&GT;
readValues(JsonParser p,JavaType valueType)
 - 便捷方法,功能相当于:
135<T>  MappingIterator&LT; T&GT;
readValues(JsonParser p,ResolvedType valueType)
 - 便捷方法,功能相当于:
136<T> MappingIterator&LT; T&GT;
readValues(JsonParser p,TypeReference<?> valueTypeRef)
 - 从解析器流中读取对象序列的方法.
137 ObjectMapper registerModule(Module module)  - 注册可以扩展此映射器提供的功能的模块的方法;例如,通过添加自定义序列化程序和反序列化程序的提供程序.
138 ObjectMapper 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 deser ialization, 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.
1 58ObjectMapper 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 o verriding 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
}