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:
4.0.0
Author:
Phillip Webb
See Also:
  • Nested Class Summary Link icon

    Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonDeserializer Link icon

    com.fasterxml.jackson.databind.JsonDeserializer.None
  • Constructor Summary Link icon

    Constructors
    Constructor
    Description
     
  • Method Summary Link icon

    Modifier and Type
    Method
    Description
    final 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 a JsonNode 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 given jsonNode or return null when the node itself is null.
    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 given jsonNode or return null when the node itself is null.

    Methods inherited from class com.fasterxml.jackson.databind.JsonDeserializer Link icon

    deserialize, deserializeWithType, deserializeWithType, findBackReference, getAbsentValue, getDelegatee, getEmptyAccessPattern, getEmptyValue, getEmptyValue, getKnownPropertyNames, getNullAccessPattern, getNullValue, getNullValue, getObjectIdReader, handledType, isCachable, logicalType, replaceDelegatee, supportsUpdate, unwrappingDeserializer

    Methods inherited from class java.lang.Object Link icon

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details Link icon

    • JsonObjectDeserializer Link icon

      public JsonObjectDeserializer()
  • Method Details Link icon

    • deserialize Link icon

      public final T deserialize(com.fasterxml.jackson.core.JsonParser jp, com.fasterxml.jackson.databind.DeserializationContext ctxt) throws IOException
      Specified by:
      deserialize in class com.fasterxml.jackson.databind.JsonDeserializer<T>
      Throws:
      IOException
    • deserializeObject Link icon

      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 content
      context - context that can be used to access information about this deserialization activity
      codec - the ObjectCodec associated with the parser
      tree - deserialized JSON content as tree expressed using set of TreeNode instances
      Returns:
      the deserialized object
      Throws:
      IOException - on error
      See Also:
    • nullSafeValue Link icon

      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 given jsonNode or return null when the node itself is null.
      Type Parameters:
      D - the data type requested
      R - the result type
      Parameters:
      jsonNode - the source node (may be null)
      type - the data type. May be String, Boolean, Long, Integer, Short, Double, Float, BigDecimal or BigInteger.
      mapper - a mapper to convert the value when it is not null
      Returns:
      the node value or null
      Since:
      3.4.0
    • nullSafeValue Link icon

      protected final <D> D nullSafeValue(com.fasterxml.jackson.databind.JsonNode jsonNode, Class<D> type)
      Helper method to extract a value from the given jsonNode or return null when the node itself is null.
      Type Parameters:
      D - the data type requested
      Parameters:
      jsonNode - the source node (may be null)
      type - the data type. May be String, Boolean, Long, Integer, Short, Double, Float, BigDecimal or BigInteger.
      Returns:
      the node value or null
    • getRequiredNode Link icon

      protected final com.fasterxml.jackson.databind.JsonNode getRequiredNode(com.fasterxml.jackson.databind.JsonNode tree, String fieldName)
      Helper method to return a JsonNode from the tree.
      Parameters:
      tree - the source tree
      fieldName - the field name to extract
      Returns:
      the JsonNode