Deprecated API
Contents
- Interfaces
- Classes
- Enums
- Annotation Types
- Fields
- Methods
- Constructors
- Enum Constants
- Annotation Type Elements
-
Deprecated InterfacesInterfaceDescriptionSince 2.15, we recommend use of external JSON Schema generator moduleSince 2.3: use
PropertyFilter
instead.
-
Deprecated ClassesClassDescriptionSince 2.2, we recommend use of external JSON Schema generator moduleSince 2.12 use
PropertyNamingStrategies.KebabCaseStrategy
instead (see databind#2715 for reason for deprecation)Since 2.12 usePropertyNamingStrategies.LowerCaseStrategy
instead (see databind#2715 for reason for deprecation)Since 2.12 usePropertyNamingStrategies.LowerDotCaseStrategy
instead (see databind#2715 for reason for deprecation)Since 2.12 deprecated. See databind#2715 for reasons for deprecation.Since 2.12 usePropertyNamingStrategies.SnakeCaseStrategy
instead (see databind#2715 for reason for deprecation)Since 2.12 usePropertyNamingStrategies.UpperCamelCaseStrategy
instead (see databind#2715 for reason for deprecation)Since 2.8, useStdKeySerializers.Default
instead.UseStdDateFormat
instead
-
Deprecated Enums
-
Deprecated Annotation Types
-
Deprecated FieldsFieldDescriptionSince 2.12Since 2.12Since 2.12 deprecated. Use
PropertyNamingStrategies.KEBAB_CASE
instead. See databind#2715 for reasons for deprecation.Since 2.12 deprecated. UsePropertyNamingStrategies.LOWER_CAMEL_CASE
instead. See databind#2715 for reasons for deprecation.Since 2.12 deprecated. UsePropertyNamingStrategies.LOWER_CASE
instead. See databind#2715 for reasons for deprecation.Since 2.12 deprecated. UsePropertyNamingStrategies.LOWER_DOT_CASE
instead. See databind#2715 for reasons for deprecation.Since 2.12 deprecated. UsePropertyNamingStrategies.SNAKE_CASE
instead. See databind#2715 for reasons for deprecation.Since 2.12 deprecated. UsePropertyNamingStrategies.UPPER_CAMEL_CASE
instead. See databind#2715 for reasons for deprecation.UseSerializerCache.DEFAULT_MAX_CACHE_SIZE
instead.Since 2.16
-
Deprecated MethodsMethodDescriptionsince 2.8 (may be removed from 2.9 or later)As of Jackson 2.0, this annotation has been replaced by
JsonInclude
Since 2.16. UseAnnotationIntrospector.findDefaultEnumValue(AnnotatedClass, Enum[])
instead.Since 2.16Since 2.8: useAnnotationIntrospector.findEnumValues(java.lang.Class<?>, java.lang.Enum<?>[], java.lang.String[])
instead because this method does not properly handle override settings (defaults toenum.name
without indicating whether that is explicit or not), and is inefficient to call one-by-one.Since 2.16Since 2.9 UseAnnotationIntrospector.hasAnyGetter(com.fasterxml.jackson.databind.introspect.Annotated)
insteadSince 2.9 useAnnotationIntrospector.hasAnySetter(com.fasterxml.jackson.databind.introspect.Annotated)
instead.Since 2.9 UseAnnotationIntrospector.hasAsValue(Annotated)
instead.Since 2.7, should not need to access bindings directlySince 2.9: useBeanDescription.findAnySetterAccessor()
insteadSince 2.9: useBeanDescription.findAnySetterAccessor()
insteadSince 2.9 useBeanDescription.findBackReferences()
insteadSince 2.17 useBeanDescription.findExpectedFormat()
Since 2.13: instead useBeanDescription.getFactoryMethods()
, filter.Since 2.13: instead useBeanDescription.getConstructors()
, filter.Since 2.8, should simply callgetType
of property accessor directly.Since 2.13 -- no replacementSince 2.6 useMapperConfigBase.getFullRootName()
instead.since 2.15 - no longer used, but kept because this protected method might have been overridden/used elsewheresince 2.8 callfindJsonValueMethod
onBeanDescription
insteadSince 2.16: useBasicDeserializerFactory.constructEnumNamingStrategyResolver(DeserializationConfig, AnnotatedClass)
instead.Since 2.11 Should not be used: was never meant to be called by code other than sub-classes (implementations), and implementations details differSince 2.3, useBeanDeserializerBase.handledType()
insteadin 2.12, remove from 3.0Since 2.9: use variant that takesValueInstantiator
Since 2.10since 2.12since 2.11Since 2.12.2 (since it does not get context for accessing config)com.fasterxml.jackson.databind.deser.std.EnumDeserializer._getToStringLookup(DeserializationContext) Since 2.16Since 2.8Since 2.15Since 2.17Since 2.14 use the variant that takes one more argumentin 2.12, remove from 3.0Since 2.12Since 2.12Since 2.14 (use the non-deprecated overload)Since 2.3 useStdDeserializer.handledType()
insteadSince 2.12 should not handle coercions hereSince 2.12 - use variant that takes both builder and value typeSince 2.15Since 2.9 should instead useAnnotated.getAnnotated()
Since 2.9, use methods inAnnotatedClassResolver
instead.Since 2.9, use methods inAnnotatedClassResolver
instead.Since 2.9, use methods inAnnotatedClassResolver
instead.Since 2.9, use methods inAnnotatedClassResolver
instead.Since 2.9; useAnnotatedClass.getFactoryMethods()
instead.Since 2.9Since 2.12 (related to [databind#2675]), needs to be configurableSince 2.7, remove in 2.9com.fasterxml.jackson.databind.introspect.AnnotationIntrospectorPair.findPropertyIgnorals(Annotated) com.fasterxml.jackson.databind.introspect.AnnotationIntrospectorPair.hasCreatorAnnotation(Annotated) since 2.8Since 2.7.2, does not seem to be used?com.fasterxml.jackson.databind.introspect.BasicBeanDescription.findSingleArgConstructor(Class<?>...) Since 2.12 use overload that take value type descriptionSince 2.12 use separatePOJOPropertiesCollector.getAnyGetterMethod()
andPOJOPropertiesCollector.getAnyGetterField()
.Since 2.6 Use overloaded variant that takes context argumentSince 2.6 Use overloaded variant that takes context argumentSince 2.14 useJsonNode.withObject(String)
instead(since 2.1) -- support will be dropped in future, since JSON-as-String is fundamentally bad way for customizing anything. No direct replacements offered.(since 2.1) -- support will be dropped in future, since JSON-as-String is fundamentally bad way for customizing anything. No direct replacements offered.Since 2.5 UseJsonSerializer.isEmpty(SerializerProvider, Object)
instead; will be removed from 3.0Since 2.9 useTypeSerializer.writeTypePrefix(JsonGenerator, WritableTypeId)
insteadSince 2.9 useTypeSerializer.writeTypePrefix(JsonGenerator, WritableTypeId)
insteadSince 2.9 useTypeSerializer.writeTypePrefix(JsonGenerator, WritableTypeId)
insteadSince 2.9 useTypeSerializer.writeTypeSuffix(JsonGenerator, WritableTypeId)
insteadSince 2.9 useTypeSerializer.writeTypeSuffix(JsonGenerator, WritableTypeId)
insteadSince 2.9 useTypeSerializer.writeTypeSuffix(JsonGenerator, WritableTypeId)
insteadSince 2.9 useTypeSerializer.writeTypePrefix(JsonGenerator, WritableTypeId)
insteadSince 2.9 useTypeSerializer.writeTypePrefix(JsonGenerator, WritableTypeId)
insteadSince 2.9 useTypeSerializer.writeTypePrefix(JsonGenerator, WritableTypeId)
insteadSince 2.9 useTypeSerializer.writeTypePrefix(JsonGenerator, WritableTypeId)
insteadSince 2.9 useTypeSerializer.writeTypePrefix(JsonGenerator, WritableTypeId)
insteadSince 2.9 useTypeSerializer.writeTypePrefix(JsonGenerator, WritableTypeId)
insteadSince 2.9 useTypeSerializer.writeTypeSuffix(JsonGenerator, WritableTypeId)
insteadSince 2.9 useTypeSerializer.writeTypeSuffix(JsonGenerator, WritableTypeId)
insteadSince 2.9 useTypeSerializer.writeTypeSuffix(JsonGenerator, WritableTypeId)
insteadUseJsonNodeFeature.STRIP_TRAILING_BIGDECIMAL_ZEROES
instead for configuring behavior.Since 2.4 use eitherObjectNode.set(String,JsonNode)
orObjectNode.replace(String,JsonNode)
,Since 2.4 useObjectNode.setAll(ObjectNode)
,Since 2.4 useObjectNode.setAll(Map)
,Since 2.11.2 UseObjectMapper._writeValueAndClose(com.fasterxml.jackson.core.JsonGenerator, java.lang.Object)
insteadSince 2.5: replaced by a fluent form of the method;ObjectMapper.addMixIn(Class, Class)
.Since 2.13 useJsonMapper.builder().configure(...)
Since 2.13 useJsonMapper.builder().disable(...)
Since 2.10 useObjectMapper.deactivateDefaultTyping()
insteadSince 2.13 useJsonMapper.builder().enable(...)
Since 2.10 useObjectMapper.activateDefaultTyping(PolymorphicTypeValidator)
insteadSince 2.10 useObjectMapper.activateDefaultTyping(PolymorphicTypeValidator,DefaultTyping)
insteadSince 2.10 useObjectMapper.activateDefaultTyping(PolymorphicTypeValidator,DefaultTyping,JsonTypeInfo.As)
insteadSince 2.10 useObjectMapper.activateDefaultTypingAsProperty(PolymorphicTypeValidator,DefaultTyping,String)
insteadSince 2.6 use external JSON Schema generator (jackson-module-jsonSchema) (which under the hood callsObjectMapper.acceptJsonFormatVisitor(JavaType, JsonFormatVisitorWrapper)
)Since 2.5, useObjectMapper.readerFor(TypeReference)
insteadSince 2.5, useObjectMapper.readerFor(JavaType)
insteadSince 2.5, useObjectMapper.readerFor(Class)
insteadSince 2.6, useObjectMapper.setFilterProvider(com.fasterxml.jackson.databind.ser.FilterProvider)
instead (allows chaining)Since 2.5: replaced by a fluent form of the method;ObjectMapper.setMixIns(java.util.Map<java.lang.Class<?>, java.lang.Class<?>>)
.Since 2.6 useObjectMapper.setVisibility(VisibilityChecker)
instead.Since 2.5, useObjectMapper.writerFor(TypeReference)
insteadSince 2.5, useObjectMapper.writerFor(JavaType)
insteadSince 2.5, useObjectMapper.writerFor(Class)
insteadsince 2.5 UseObjectReader.forType(TypeReference)
insteadsince 2.5 UseObjectReader.forType(JavaType)
insteadsince 2.5 UseObjectReader.forType(Class)
insteadsince 2.5 UseObjectReader.forType(java.lang.reflect.Type)
insteadSince 2.5 useObjectWriter.with(FormatSchema)
insteadsince 2.5 UseObjectWriter.forType(TypeReference)
insteadsince 2.5 UseObjectWriter.forType(JavaType)
insteadsince 2.5 UseObjectWriter.forType(Class)
insteadSince 2.3: new code should use the alternativedepositSchemaProperty
methodSince 2.7, to be removed from 2.9, useBeanPropertyWriter.getType()
instead.Since 2.7, to be removed from 2.9, useBeanPropertyWriter.getType()
instead.Since 2.10Since 2.7: should not be needed; should be enough to see if type has 'isStatic' modifierShould not be used any moreSince 2.3 deprecated becauseBeanPropertyFilter
is deprecated;Since 2.6; to be removed from 2.7since 2.3Since 2.3 should usePropertyFilter
instead ofBeanPropertyFilter
Since 2.15Since 2.9Since 2.9 since this will not allow determining difference between "no default instance" case and default being `null`.Since 2.3: new code should use the alternativedepositSchemaProperty
methodSince 2.2Since 2.15since 2.6: use the overloaded method that takes 'unwrapSingle'since 2.8Since 2.12Since 2.15Since 2.15Since 2.15Since 2.15Since 2.15Since 2.15Since 2.15Since 2.8 use the other overloadSince 2.15since 2.9Since 2.15Since 2.15Since 2.15Since 2.15Since 2.15Since 2.15Since 2.15Since 2.15Since 2.15Since 2.15Since 2.15Since 2.15Since 2.15Since 2.15Since 2.15Since 2.15Since 2.15Since 2.15since 2.7Since 2.15Since 2.15, we recommend use of external JSON Schema generator moduleSince 2.15, we recommend use of external JSON Schema generator moduleSince 2.15Since 2.15Since 2.15Since 2.15Since 2.7 useMapperConfigBase.getDefaultPropertyInclusion()
insteadSince 2.9; not needed any moreSince 2.9Since 2.9Since 2.7, useCollectionLikeType.upgradeFrom(com.fasterxml.jackson.databind.JavaType, com.fasterxml.jackson.databind.JavaType)
for constructing instances, given pre-resolvedSimpleType
.Since 2.12 just use instanceofSince 2.7, remove from 2.9Since 2.12 just use instanceofSince 2.16Since 2.16Since 2.7since 2.9 UseTypeFactory.constructParametricType(Class,JavaType...)
insteadsince 2.9 UseTypeFactory.constructParametricType(Class,Class...)
insteadSince 2.7Since 2.7 (accidentally removed in 2.7.0; added back in 2.7.1)Since 2.12Since 2.7 (accidentally removed in 2.7.0; added back in 2.7.1)Since 2.7 resolve raw type first, then find type parameterscom.fasterxml.jackson.databind.type.TypeFactory.findTypeParameters(Class<?>, Class<?>, TypeBindings) Since 2.7 resolve raw type first, then find type parametersSince 2.8, to indicate users should never call this method.Since 2.12Since 2.12 replaced withAccessorNamingStrategy
Since 2.12 replaced withAccessorNamingStrategy
Since 2.12 replaced withAccessorNamingStrategy
Since 2.12 replaced withAccessorNamingStrategy
Since 2.7 call variant that takes boolean flag.since 2.11 (just call Class method directly)since 2.11 (just call Class method directly)Since 2.12 (just call methods directly or check class name)Since 2.6 not used; may be removed before 3.xSince 2.16. UseEnumResolver._enumDefault(AnnotationIntrospector, AnnotatedClass, Enum[])
instead.Since 2.16 useEnumResolver.constructFor(DeserializationConfig, AnnotatedClass)
insteadSince 2.16. UseEnumResolver.constructUsingIndex(DeserializationConfig, AnnotatedClass)
instead.Since 2.16. UseEnumResolver.constructUsingMethod(DeserializationConfig, AnnotatedClass, AnnotatedMember)
instead.Since 2.16 useEnumResolver.constructUsingToString(DeserializationConfig, AnnotatedClass)
insteadSince 2.16, useEnumValues.constructFromName(MapperConfig, AnnotatedClass)
instead.since 2.16; useEnumValues.constructFromToString(MapperConfig, AnnotatedClass)
insteadSince 2.16; useEnumValues.constructUsingEnumNamingStrategy(MapperConfig, AnnotatedClass, EnumNamingStrategy)
instead.Since 2.9Since 2.9Since 2.13: useDeserializationContext.bufferAsCopyOfValue(com.fasterxml.jackson.core.JsonParser)
instead.
-
Deprecated ConstructorsConstructorDescriptionSince 2.9Since 2.16, use variant that takes
CacheProvider
instead.Since 2.10in 2.12, remove from 3.0in 2.12, remove from 3.0Since 2.9Since 2.11 use factory method insteadsince 2.11in 2.9 (remove from 3.0)Since 2.15Since 2.9since 2.16since 2.16Since 2.10.1Since 2.17Since 2.7 use constructor that takesJavaType
insteadSince 2.6 use variant takes type argumentsSince 2.7Since 2.7 Use variant that takesJsonParser
Since 2.7 Use variant that takesJsonParser
Since 2.7Since 2.7Since 2.12Since 2.7 Use variant that takesJsonParser
insteadSince 2.7 Use variant that takesJsonParser
insteadSince 2.7 Use variant that takesJsonParser
insteadSince 2.7 Use variant that takesJsonParser
insteadSince 2.15 (not used)Since 2.15 (not used)Since 2.10 use variant that takesPolymorphicTypeValidator
Since 2.10Since 2.6Since 2.6since 2.6: use the overloaded method that takes 'unwrapSingle'Since 2.6 Use variants that either take 'src', or do NOT pass BeanPropertysince 2.6Since 2.16Since 2.16Since 2.12in 2.12, remove from 3.0// since 2.9in 2.12, remove from 3.0since 2.14
-
Deprecated Enum ConstantsEnum ConstantDescriptionSince 2.17 and removed from 3.0 --see
ObjectMapper.DefaultTyping.NON_FINAL_AND_ENUMS
for Enum-related usage.Since 2.5: useJsonGenerator.Feature.WRITE_BIGDECIMAL_AS_PLAIN
instead (usingObjectWriter.with(com.fasterxml.jackson.core.JsonGenerator.Feature)
).Since 2.8 there are better mechanism for specifying filtering; specifically usingJsonInclude
or configuration overrides.Since 2.9 there are better mechanism for specifying filtering; specifically usingJsonInclude
or configuration overrides (seeObjectMapper.configOverride(Class)
}).
-
Deprecated Annotation Type ElementsAnnotation Type ElementDescriptionAs of Jackson 2.0, this annotation has been replaced by
JsonInclude
(since 2.1) -- support will be dropped in future, since JSON-as-String is fundamentally bad way for customizing anything. No direct replacements offered.(since 2.1) -- support will be dropped in future, since JSON-as-String is fundamentally bad way for customizing anything. No direct replacements offered.