类 Jackson2ObjectMapperBuilder
- java.lang.Object
- org.springframework.http.converter.json.Jackson2ObjectMapperBuilder
public class Jackson2ObjectMapperBuilder extends Object
A builder used to createObjectMapper
instances with a fluent API.It customizes Jackson's default properties with the following ones:
MapperFeature.DEFAULT_VIEW_INCLUSION
is disabledDeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES
is disabled
It also automatically registers the following well-known modules if they are detected on the classpath:
- jackson-datatype-jdk8: support for other Java 8 types like
Optional
- jackson-datatype-jsr310: support for Java 8 Date & Time API types
- jackson-datatype-joda: support for Joda-Time types
- jackson-module-kotlin: support for Kotlin classes and data classes
Compatible with Jackson 2.6 and higher, as of Spring 4.3.
- 从以下版本开始:
- 4.1.1
- 作者:
- Sebastien Deleuze, Juergen Hoeller, Tadaya Tsuyukubo, Edd煤 Mel茅ndez
- 另请参阅:
build()
,configure(ObjectMapper)
,Jackson2ObjectMapperFactoryBean
构造器概要
构造器 构造器 说明 Jackson2ObjectMapperBuilder()
方法概要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 说明 Jackson2ObjectMapperBuilder
annotationIntrospector(AnnotationIntrospector annotationIntrospector)
Set anAnnotationIntrospector
for both serialization and deserialization.Jackson2ObjectMapperBuilder
annotationIntrospector(Function<AnnotationIntrospector,AnnotationIntrospector> pairingFunction)
Alternative toannotationIntrospector(AnnotationIntrospector)
that allows combining with rather than replacing the currently set introspector, e.g. viaAnnotationIntrospector.pair(AnnotationIntrospector, AnnotationIntrospector)
.Jackson2ObjectMapperBuilder
applicationContext(ApplicationContext applicationContext)
Set the SpringApplicationContext
in order to autowire Jackson handlers (JsonSerializer
,JsonDeserializer
,KeyDeserializer
,TypeResolverBuilder
andTypeIdResolver
).Jackson2ObjectMapperBuilder
autoDetectFields(boolean autoDetectFields)
Shortcut forMapperFeature.AUTO_DETECT_FIELDS
option.Jackson2ObjectMapperBuilder
autoDetectGettersSetters(boolean autoDetectGettersSetters)
<T extends ObjectMapper>
Tbuild()
Build a newObjectMapper
instance.static Jackson2ObjectMapperBuilder
cbor()
Obtain aJackson2ObjectMapperBuilder
instance in order to build a CBOR data formatObjectMapper
instance.void
configure(ObjectMapper objectMapper)
Configure an existingObjectMapper
instance with this builder's settings.Jackson2ObjectMapperBuilder
createXmlMapper(boolean createXmlMapper)
If set totrue
, anXmlMapper
will be created using its default constructor.Jackson2ObjectMapperBuilder
dateFormat(DateFormat dateFormat)
Define the format for date/time with the givenDateFormat
.Jackson2ObjectMapperBuilder
defaultTyping(TypeResolverBuilder<?> typeResolverBuilder)
Specify aTypeResolverBuilder
to use for Jackson's default typing.Jackson2ObjectMapperBuilder
defaultUseWrapper(boolean defaultUseWrapper)
Define if a wrapper will be used for indexed (List, array) properties or not by default (only applies toXmlMapper
).Jackson2ObjectMapperBuilder
defaultViewInclusion(boolean defaultViewInclusion)
Shortcut forMapperFeature.DEFAULT_VIEW_INCLUSION
option.Jackson2ObjectMapperBuilder
deserializerByType(Class<?> type, JsonDeserializer<?> deserializer)
Configure a custom deserializer for the given type.Jackson2ObjectMapperBuilder
deserializers(JsonDeserializer<?>... deserializers)
Configure custom deserializers.Jackson2ObjectMapperBuilder
deserializersByType(Map<Class<?>,JsonDeserializer<?>> deserializers)
Configure custom deserializers for the given types.Jackson2ObjectMapperBuilder
factory(JsonFactory factory)
Define theJsonFactory
to be used to create theObjectMapper
instance.Jackson2ObjectMapperBuilder
failOnEmptyBeans(boolean failOnEmptyBeans)
Shortcut forSerializationFeature.FAIL_ON_EMPTY_BEANS
option.Jackson2ObjectMapperBuilder
failOnUnknownProperties(boolean failOnUnknownProperties)
Shortcut forDeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES
option.Jackson2ObjectMapperBuilder
featuresToDisable(Object... featuresToDisable)
Specify features to disable.Jackson2ObjectMapperBuilder
featuresToEnable(Object... featuresToEnable)
Specify features to enable.Jackson2ObjectMapperBuilder
filters(FilterProvider filters)
Set the global filters to use in order to support@JsonFilter
annotated POJO.Jackson2ObjectMapperBuilder
findModulesViaServiceLoader(boolean findModules)
Set whether to let Jackson find available modules via the JDK ServiceLoader, based on META-INF metadata in the classpath.Jackson2ObjectMapperBuilder
handlerInstantiator(HandlerInstantiator handlerInstantiator)
Customize the construction of Jackson handlers (JsonSerializer
,JsonDeserializer
,KeyDeserializer
,TypeResolverBuilder
andTypeIdResolver
).Jackson2ObjectMapperBuilder
indentOutput(boolean indentOutput)
Shortcut forSerializationFeature.INDENT_OUTPUT
option.static Jackson2ObjectMapperBuilder
json()
Obtain aJackson2ObjectMapperBuilder
instance in order to build a regular JSONObjectMapper
instance.Jackson2ObjectMapperBuilder
locale(String localeString)
Override the defaultLocale
to use for formatting.Jackson2ObjectMapperBuilder
locale(Locale locale)
Override the defaultLocale
to use for formatting.Jackson2ObjectMapperBuilder
mixIn(Class<?> target, Class<?> mixinSource)
Add mix-in annotations to use for augmenting specified class or interface.Jackson2ObjectMapperBuilder
mixIns(Map<Class<?>,Class<?>> mixIns)
Add mix-in annotations to use for augmenting specified class or interface.Jackson2ObjectMapperBuilder
moduleClassLoader(ClassLoader moduleClassLoader)
Set the ClassLoader to use for loading Jackson extension modules.Jackson2ObjectMapperBuilder
modules(Module... modules)
Specify one or more modules to be registered with theObjectMapper
.Jackson2ObjectMapperBuilder
modules(List<Module> modules)
Set a complete list of modules to be registered with theObjectMapper
.Jackson2ObjectMapperBuilder
modulesToInstall(Module... modules)
Specify one or more modules to be registered with theObjectMapper
.Jackson2ObjectMapperBuilder
modulesToInstall(Class<? extends Module>... modules)
Specify one or more modules by class to be registered with theObjectMapper
.Jackson2ObjectMapperBuilder
propertyNamingStrategy(PropertyNamingStrategy propertyNamingStrategy)
Specify aPropertyNamingStrategy
to configure theObjectMapper
with.Jackson2ObjectMapperBuilder
serializationInclusion(com.fasterxml.jackson.annotation.JsonInclude.Include serializationInclusion)
Set a custom inclusion strategy for serialization.Jackson2ObjectMapperBuilder
serializerByType(Class<?> type, JsonSerializer<?> serializer)
Configure a custom serializer for the given type.Jackson2ObjectMapperBuilder
serializers(JsonSerializer<?>... serializers)
Configure custom serializers.Jackson2ObjectMapperBuilder
serializersByType(Map<Class<?>,JsonSerializer<?>> serializers)
Configure custom serializers for the given types.Jackson2ObjectMapperBuilder
simpleDateFormat(String format)
Define the date/time format with aSimpleDateFormat
.static Jackson2ObjectMapperBuilder
smile()
Obtain aJackson2ObjectMapperBuilder
instance in order to build a Smile data formatObjectMapper
instance.Jackson2ObjectMapperBuilder
timeZone(String timeZoneString)
Override the defaultTimeZone
to use for formatting.Jackson2ObjectMapperBuilder
timeZone(TimeZone timeZone)
Override the defaultTimeZone
to use for formatting.Jackson2ObjectMapperBuilder
visibility(com.fasterxml.jackson.annotation.PropertyAccessor accessor, com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility visibility)
Specify visibility to limit what kind of properties are auto-detected.static Jackson2ObjectMapperBuilder
xml()
Obtain aJackson2ObjectMapperBuilder
instance in order to build anXmlMapper
instance.
构造器详细资料
Jackson2ObjectMapperBuilder
public Jackson2ObjectMapperBuilder()
方法详细资料
createXmlMapper
public Jackson2ObjectMapperBuilder createXmlMapper(boolean createXmlMapper)
If set totrue
, anXmlMapper
will be created using its default constructor. This is only applicable tobuild()
calls, not toconfigure(com.fasterxml.jackson.databind.ObjectMapper)
calls.
factory
public Jackson2ObjectMapperBuilder factory(JsonFactory factory)
Define theJsonFactory
to be used to create theObjectMapper
instance.- 从以下版本开始:
- 5.0
dateFormat
public Jackson2ObjectMapperBuilder dateFormat(DateFormat dateFormat)
Define the format for date/time with the givenDateFormat
.Note: Setting this property makes the exposed
ObjectMapper
non-thread-safe, according to Jackson's thread safety rules.
simpleDateFormat
public Jackson2ObjectMapperBuilder simpleDateFormat(String format)
Define the date/time format with aSimpleDateFormat
.Note: Setting this property makes the exposed
ObjectMapper
non-thread-safe, according to Jackson's thread safety rules.
locale
public Jackson2ObjectMapperBuilder locale(Locale locale)
Override the defaultLocale
to use for formatting. Default value used isLocale.getDefault()
.- 从以下版本开始:
- 4.1.5
locale
public Jackson2ObjectMapperBuilder locale(String localeString)
Override the defaultLocale
to use for formatting. Default value used isLocale.getDefault()
.- 参数:
localeString
- the locale ID as a String representation- 从以下版本开始:
- 4.1.5
timeZone
public Jackson2ObjectMapperBuilder timeZone(TimeZone timeZone)
Override the defaultTimeZone
to use for formatting. Default value used is UTC (NOT local timezone).- 从以下版本开始:
- 4.1.5
timeZone
public Jackson2ObjectMapperBuilder timeZone(String timeZoneString)
Override the defaultTimeZone
to use for formatting. Default value used is UTC (NOT local timezone).- 参数:
timeZoneString
- the zone ID as a String representation- 从以下版本开始:
- 4.1.5
annotationIntrospector
public Jackson2ObjectMapperBuilder annotationIntrospector(AnnotationIntrospector annotationIntrospector)
Set anAnnotationIntrospector
for both serialization and deserialization.
annotationIntrospector
public Jackson2ObjectMapperBuilder annotationIntrospector(Function<AnnotationIntrospector,AnnotationIntrospector> pairingFunction)
Alternative toannotationIntrospector(AnnotationIntrospector)
that allows combining with rather than replacing the currently set introspector, e.g. viaAnnotationIntrospector.pair(AnnotationIntrospector, AnnotationIntrospector)
.- 参数:
pairingFunction
- a function to apply to the currently set introspector (possiblynull
); the result of the function becomes the new introspector.- 从以下版本开始:
- 5.2.4
propertyNamingStrategy
public Jackson2ObjectMapperBuilder propertyNamingStrategy(PropertyNamingStrategy propertyNamingStrategy)
Specify aPropertyNamingStrategy
to configure theObjectMapper
with.
defaultTyping
public Jackson2ObjectMapperBuilder defaultTyping(TypeResolverBuilder<?> typeResolverBuilder)
Specify aTypeResolverBuilder
to use for Jackson's default typing.- 从以下版本开始:
- 4.2.2
serializationInclusion
public Jackson2ObjectMapperBuilder serializationInclusion(com.fasterxml.jackson.annotation.JsonInclude.Include serializationInclusion)
Set a custom inclusion strategy for serialization.- 另请参阅:
JsonInclude.Include
filters
public Jackson2ObjectMapperBuilder filters(FilterProvider filters)
Set the global filters to use in order to support@JsonFilter
annotated POJO.- 从以下版本开始:
- 4.2
- 另请参阅:
MappingJacksonValue.setFilters(FilterProvider)
mixIn
public Jackson2ObjectMapperBuilder mixIn(Class<?> target, Class<?> mixinSource)
Add mix-in annotations to use for augmenting specified class or interface.- 参数:
target
- class (or interface) whose annotations to effectively overridemixinSource
- class (or interface) whose annotations are to be "added" to target's annotations as value- 从以下版本开始:
- 4.1.2
- 另请参阅:
ObjectMapper.addMixIn(Class, Class)
mixIns
public Jackson2ObjectMapperBuilder mixIns(Map<Class<?>,Class<?>> mixIns)
Add mix-in annotations to use for augmenting specified class or interface.- 参数:
mixIns
- a Map of entries with target classes (or interface) whose annotations to effectively override as key and mix-in classes (or interface) whose annotations are to be "added" to target's annotations as value.- 从以下版本开始:
- 4.1.2
- 另请参阅:
ObjectMapper.addMixIn(Class, Class)
serializers
public Jackson2ObjectMapperBuilder serializers(JsonSerializer<?>... serializers)
Configure custom serializers. Each serializer is registered for the type returned byJsonSerializer.handledType()
, which must not benull
.
serializerByType
public Jackson2ObjectMapperBuilder serializerByType(Class<?> type, JsonSerializer<?> serializer)
Configure a custom serializer for the given type.- 从以下版本开始:
- 4.1.2
- 另请参阅:
serializers(JsonSerializer...)
serializersByType
public Jackson2ObjectMapperBuilder serializersByType(Map<Class<?>,JsonSerializer<?>> serializers)
Configure custom serializers for the given types.
deserializers
public Jackson2ObjectMapperBuilder deserializers(JsonDeserializer<?>... deserializers)
Configure custom deserializers. Each deserializer is registered for the type returned byJsonDeserializer.handledType()
, which must not benull
.- 从以下版本开始:
- 4.3
- 另请参阅:
deserializersByType(Map)
deserializerByType
public Jackson2ObjectMapperBuilder deserializerByType(Class<?> type, JsonDeserializer<?> deserializer)
Configure a custom deserializer for the given type.- 从以下版本开始:
- 4.1.2
deserializersByType
public Jackson2ObjectMapperBuilder deserializersByType(Map<Class<?>,JsonDeserializer<?>> deserializers)
Configure custom deserializers for the given types.
autoDetectFields
public Jackson2ObjectMapperBuilder autoDetectFields(boolean autoDetectFields)
Shortcut forMapperFeature.AUTO_DETECT_FIELDS
option.
autoDetectGettersSetters
public Jackson2ObjectMapperBuilder autoDetectGettersSetters(boolean autoDetectGettersSetters)
defaultViewInclusion
public Jackson2ObjectMapperBuilder defaultViewInclusion(boolean defaultViewInclusion)
Shortcut forMapperFeature.DEFAULT_VIEW_INCLUSION
option.
failOnUnknownProperties
public Jackson2ObjectMapperBuilder failOnUnknownProperties(boolean failOnUnknownProperties)
Shortcut forDeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES
option.
failOnEmptyBeans
public Jackson2ObjectMapperBuilder failOnEmptyBeans(boolean failOnEmptyBeans)
Shortcut forSerializationFeature.FAIL_ON_EMPTY_BEANS
option.
indentOutput
public Jackson2ObjectMapperBuilder indentOutput(boolean indentOutput)
Shortcut forSerializationFeature.INDENT_OUTPUT
option.
defaultUseWrapper
public Jackson2ObjectMapperBuilder defaultUseWrapper(boolean defaultUseWrapper)
Define if a wrapper will be used for indexed (List, array) properties or not by default (only applies toXmlMapper
).- 从以下版本开始:
- 4.3
visibility
public Jackson2ObjectMapperBuilder visibility(com.fasterxml.jackson.annotation.PropertyAccessor accessor, com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility visibility)
Specify visibility to limit what kind of properties are auto-detected.- 从以下版本开始:
- 5.1
- 另请参阅:
PropertyAccessor
,JsonAutoDetect.Visibility
featuresToEnable
public Jackson2ObjectMapperBuilder featuresToEnable(Object... featuresToEnable)
Specify features to enable.
featuresToDisable
public Jackson2ObjectMapperBuilder featuresToDisable(Object... featuresToDisable)
Specify features to disable.
modules
public Jackson2ObjectMapperBuilder modules(Module... modules)
Specify one or more modules to be registered with theObjectMapper
. Multiple invocations are not additive, the last one defines the modules to register.Note: If this is set, no finding of modules is going to happen - not by Jackson, and not by Spring either (see
findModulesViaServiceLoader
). As a consequence, specifying an empty list here will suppress any kind of module detection.Specify either this or
modulesToInstall(com.fasterxml.jackson.databind.Module...)
, not both.- 从以下版本开始:
- 4.1.5
- 另请参阅:
modules(List)
,Module
modules
public Jackson2ObjectMapperBuilder modules(List<Module> modules)
Set a complete list of modules to be registered with theObjectMapper
. Multiple invocations are not additive, the last one defines the modules to register.Note: If this is set, no finding of modules is going to happen - not by Jackson, and not by Spring either (see
findModulesViaServiceLoader
). As a consequence, specifying an empty list here will suppress any kind of module detection.Specify either this or
modulesToInstall(com.fasterxml.jackson.databind.Module...)
, not both.- 另请参阅:
modules(Module...)
,Module
modulesToInstall
public Jackson2ObjectMapperBuilder modulesToInstall(Module... modules)
Specify one or more modules to be registered with theObjectMapper
. Multiple invocations are not additive, the last one defines the modules to register.Modules specified here will be registered after Spring's autodetection of JSR-310 and Joda-Time, or Jackson's finding of modules (see
findModulesViaServiceLoader
), allowing to eventually override their configuration.Specify either this or
modules
, not both.- 从以下版本开始:
- 4.1.5
- 另请参阅:
Module
modulesToInstall
public Jackson2ObjectMapperBuilder modulesToInstall(Class<? extends Module>... modules)
Specify one or more modules by class to be registered with theObjectMapper
. Multiple invocations are not additive, the last one defines the modules to register.Modules specified here will be registered after Spring's autodetection of JSR-310 and Joda-Time, or Jackson's finding of modules (see
findModulesViaServiceLoader
), allowing to eventually override their configuration.Specify either this or
modules
, not both.
findModulesViaServiceLoader
public Jackson2ObjectMapperBuilder findModulesViaServiceLoader(boolean findModules)
Set whether to let Jackson find available modules via the JDK ServiceLoader, based on META-INF metadata in the classpath.If this mode is not set, Spring's Jackson2ObjectMapperBuilder itself will try to find the JSR-310 and Joda-Time support modules on the classpath - provided that Java 8 and Joda-Time themselves are available, respectively.
moduleClassLoader
public Jackson2ObjectMapperBuilder moduleClassLoader(ClassLoader moduleClassLoader)
Set the ClassLoader to use for loading Jackson extension modules.
handlerInstantiator
public Jackson2ObjectMapperBuilder handlerInstantiator(HandlerInstantiator handlerInstantiator)
Customize the construction of Jackson handlers (JsonSerializer
,JsonDeserializer
,KeyDeserializer
,TypeResolverBuilder
andTypeIdResolver
).- 从以下版本开始:
- 4.1.3
- 另请参阅:
applicationContext(ApplicationContext)
applicationContext
public Jackson2ObjectMapperBuilder applicationContext(ApplicationContext applicationContext)
Set the SpringApplicationContext
in order to autowire Jackson handlers (JsonSerializer
,JsonDeserializer
,KeyDeserializer
,TypeResolverBuilder
andTypeIdResolver
).- 从以下版本开始:
- 4.1.3
- 另请参阅:
SpringHandlerInstantiator
build
public <T extends ObjectMapper> T build()
Build a newObjectMapper
instance.Each build operation produces an independent
ObjectMapper
instance. The builder's settings can get modified, with a subsequent build operation then producing a newObjectMapper
based on the most recent settings.- 返回:
- the newly built ObjectMapper
configure
public void configure(ObjectMapper objectMapper)
Configure an existingObjectMapper
instance with this builder's settings. This can be applied to any number ofObjectMappers
.- 参数:
objectMapper
- the ObjectMapper to configure
json
public static Jackson2ObjectMapperBuilder json()
Obtain aJackson2ObjectMapperBuilder
instance in order to build a regular JSONObjectMapper
instance.
xml
public static Jackson2ObjectMapperBuilder xml()
Obtain aJackson2ObjectMapperBuilder
instance in order to build anXmlMapper
instance.
smile
public static Jackson2ObjectMapperBuilder smile()
Obtain aJackson2ObjectMapperBuilder
instance in order to build a Smile data formatObjectMapper
instance.- 从以下版本开始:
- 5.0
cbor
public static Jackson2ObjectMapperBuilder cbor()
Obtain aJackson2ObjectMapperBuilder
instance in order to build a CBOR data formatObjectMapper
instance.- 从以下版本开始:
- 5.0