Package org.springframework.boot.jackson
Class JsonObjectDeserializer<T>
java.lang.Object
com.fasterxml.jackson.databind.JsonDeserializer<T>
org.springframework.boot.jackson.JsonObjectDeserializer<T>
- Type Parameters:
T
- the supported object type
- All Implemented Interfaces:
com.fasterxml.jackson.databind.deser.NullValueProvider
public abstract class JsonObjectDeserializer<T>
extends com.fasterxml.jackson.databind.JsonDeserializer<T>
Helper base class for
JsonDeserializer
implementations that deserialize
objects.- Since:
- 1.4.0
- Author:
- Phillip Webb
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonDeserializer
com.fasterxml.jackson.databind.JsonDeserializer.None
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionfinal T
deserialize
(com.fasterxml.jackson.core.JsonParser jp, com.fasterxml.jackson.databind.DeserializationContext ctxt) protected abstract T
deserializeObject
(com.fasterxml.jackson.core.JsonParser jsonParser, com.fasterxml.jackson.databind.DeserializationContext context, com.fasterxml.jackson.core.ObjectCodec codec, com.fasterxml.jackson.databind.JsonNode tree) Deserialize JSON content into the value type this serializer handles.protected final com.fasterxml.jackson.databind.JsonNode
getRequiredNode
(com.fasterxml.jackson.databind.JsonNode tree, String fieldName) Helper method to return aJsonNode
from the tree.protected final <D> D
nullSafeValue
(com.fasterxml.jackson.databind.JsonNode jsonNode, Class<D> type) Helper method to extract a value from the givenjsonNode
or returnnull
when the node itself isnull
.protected final <D,
R> R nullSafeValue
(com.fasterxml.jackson.databind.JsonNode jsonNode, Class<D> type, Function<D, R> mapper) Helper method to extract a value from the givenjsonNode
or returnnull
when the node itself isnull
.Methods inherited from class com.fasterxml.jackson.databind.JsonDeserializer
deserialize, deserializeWithType, deserializeWithType, findBackReference, getAbsentValue, getDelegatee, getEmptyAccessPattern, getEmptyValue, getEmptyValue, getKnownPropertyNames, getNullAccessPattern, getNullValue, getNullValue, getObjectIdReader, handledType, isCachable, logicalType, replaceDelegatee, supportsUpdate, unwrappingDeserializer
-
Constructor Details
-
JsonObjectDeserializer
public JsonObjectDeserializer()
-
-
Method Details
-
deserialize
public final T deserialize(com.fasterxml.jackson.core.JsonParser jp, com.fasterxml.jackson.databind.DeserializationContext ctxt) throws IOException - Specified by:
deserialize
in classcom.fasterxml.jackson.databind.JsonDeserializer<T>
- Throws:
IOException
-
deserializeObject
protected abstract T deserializeObject(com.fasterxml.jackson.core.JsonParser jsonParser, com.fasterxml.jackson.databind.DeserializationContext context, com.fasterxml.jackson.core.ObjectCodec codec, com.fasterxml.jackson.databind.JsonNode tree) throws IOException Deserialize JSON content into the value type this serializer handles.- Parameters:
jsonParser
- the source parser used for reading JSON contentcontext
- context that can be used to access information about this deserialization activitycodec
- theObjectCodec
associated with the parsertree
- deserialized JSON content as tree expressed using set ofTreeNode
instances- Returns:
- the deserialized object
- Throws:
IOException
- on error- See Also:
-
nullSafeValue
protected final <D,R> R nullSafeValue(com.fasterxml.jackson.databind.JsonNode jsonNode, Class<D> type, Function<D, R> mapper) Helper method to extract a value from the givenjsonNode
or returnnull
when the node itself isnull
.- Type Parameters:
D
- the data type requestedR
- the result type- Parameters:
jsonNode
- the source node (may benull
)type
- the data type. May beString
,Boolean
,Long
,Integer
,Short
,Double
,Float
,BigDecimal
orBigInteger
.mapper
- a mapper to convert the value when it is notnull
- Returns:
- the node value or
null
- Since:
- 3.4.0
-
nullSafeValue
protected final <D> D nullSafeValue(com.fasterxml.jackson.databind.JsonNode jsonNode, Class<D> type) Helper method to extract a value from the givenjsonNode
or returnnull
when the node itself isnull
.- Type Parameters:
D
- the data type requested- Parameters:
jsonNode
- the source node (may benull
)type
- the data type. May beString
,Boolean
,Long
,Integer
,Short
,Double
,Float
,BigDecimal
orBigInteger
.- Returns:
- the node value or
null
-
getRequiredNode
protected final com.fasterxml.jackson.databind.JsonNode getRequiredNode(com.fasterxml.jackson.databind.JsonNode tree, String fieldName) Helper method to return aJsonNode
from the tree.- Parameters:
tree
- the source treefieldName
- the field name to extract- Returns:
- the
JsonNode
-