## com.fasterxml.jackson.databind.deser.std
Class JsonNodeDeserializer

    java.lang.Object
      com.fasterxml.jackson.databind.JsonDeserializer<T>
          com.fasterxml.jackson.databind.deser.std.StdDeserializer<N>
              com.fasterxml.jackson.databind.deser.std.JsonNodeDeserializer

    public class JsonNodeDeserializer

extends StdDeserializer<N>

Deserializer that can build instances of `JsonNode` from any JSON content, using appropriate `JsonNode` type.

Nested Class Summary

Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonDeserializer
`JsonDeserializer.None`

Field Summary

Fields inherited from class com.fasterxml.jackson.databind.deser.std.StdDeserializer
`_valueClass`

Constructor Summary
`protected` `JsonNodeDeserializer()`

Method Summary
`protected void` `_handleDuplicateField(String fieldName, ObjectNode objectNode, JsonNode oldValue, JsonNode newValue)` Method called when there is a duplicate value for a field.
`protected void` `_reportProblem(JsonParser jp, String msg)`
`JsonNode` `deserialize(JsonParser jp, DeserializationContext ctxt)` Implementation that will produce types of any JSON nodes; not just one deserializer is registered to handle (in case of more specialized handler).
`protected JsonNode` `deserializeAny(JsonParser jp, DeserializationContext ctxt, JsonNodeFactory nodeFactory)`
`protected ArrayNode` `deserializeArray(JsonParser jp, DeserializationContext ctxt, JsonNodeFactory nodeFactory)`
`protected ObjectNode` `deserializeObject(JsonParser jp, DeserializationContext ctxt, JsonNodeFactory nodeFactory)`
`Object` `deserializeWithType(JsonParser jp, DeserializationContext ctxt, TypeDeserializer typeDeserializer)` Base implementation that does not assume specific type inclusion mechanism.
`static JsonDeserializer<? extends JsonNode>` `getDeserializer(Class<?> nodeClass)` Factory method for accessing deserializer for specific node type

Methods inherited from class com.fasterxml.jackson.databind.deser.std.StdDeserializer
`_parseBoolean, _parseBooleanFromNumber, _parseBooleanPrimitive, _parseByte, _parseDate, _parseDouble, _parseDoublePrimitive, _parseFloat, _parseFloatPrimitive, _parseInteger, _parseIntPrimitive, _parseLong, _parseLongPrimitive, _parseShort, _parseShortPrimitive, findDeserializer, getValueClass, getValueType, handleUnknownProperty, isDefaultDeserializer, isDefaultKeyDeserializer, parseDouble`

Methods inherited from class com.fasterxml.jackson.databind.JsonDeserializer
`deserialize, getEmptyValue, getKnownPropertyNames, getNullValue, getObjectIdReader, isCachable, unwrappingDeserializer`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### JsonNodeDeserializer

    protected JsonNodeDeserializer()

Method Detail

### getDeserializer

    public static JsonDeserializer<? extends JsonNode> getDeserializer(Class<?> nodeClass)

  Factory method for accessing deserializer for specific node type

### deserialize

    public JsonNode deserialize(JsonParser jp,
                                DeserializationContext ctxt)
                         throws IOException,
                                JsonProcessingException

  Implementation that will produce types of any JSON nodes; not just one deserializer is registered to handle (in case of more specialized handler). Overridden by typed sub-classes for more thorough checking

  Specified by:
    `deserialize` in class `JsonDeserializer<JsonNode>`
  Parameters:
    `jp` - Parsed used for reading JSON content
    `ctxt` - Context that can be used to access information about this deserialization activity.
  Returns:
    Deserializer value
  Throws:
    `IOException`
    `JsonProcessingException`

### deserializeWithType

    public Object deserializeWithType(JsonParser jp,
                                      DeserializationContext ctxt,
                                      TypeDeserializer typeDeserializer)
                               throws IOException,
                                      JsonProcessingException

  Description copied from class: `StdDeserializer`
  Base implementation that does not assume specific type inclusion mechanism. Sub-classes are expected to override this method if they are to handle type information.

  Overrides:
    `deserializeWithType` in class `StdDeserializer<N extends JsonNode>`
    `typeDeserializer` - Deserializer to use for handling type information
  Throws:
    `IOException`
    `JsonProcessingException`

### _reportProblem

    protected void _reportProblem(JsonParser jp,
                                  String msg)
                           throws JsonMappingException

  Throws:
    `JsonMappingException`

### _handleDuplicateField

    protected void _handleDuplicateField(String fieldName,
                                         ObjectNode objectNode,
                                         JsonNode oldValue,
                                         JsonNode newValue)
                                  throws JsonProcessingException

  Method called when there is a duplicate value for a field. By default we don't care, and the last value is used. Can be overridden to provide alternate handling, such as throwing an exception, or choosing different strategy for combining values or choosing which one to keep.

  Parameters:
    `fieldName` - Name of the field for which duplicate value was found
    `objectNode` - Object node that contains values
    `oldValue` - Value that existed for the object node before newValue was added
    `newValue` - Newly added value just added to the object node
  Throws:
    `JsonProcessingException`

### deserializeObject

    protected final ObjectNode deserializeObject(JsonParser jp,
                                                 DeserializationContext ctxt,
                                                 JsonNodeFactory nodeFactory)
                                          throws IOException,
                                                 JsonProcessingException

  Throws:
    `IOException`
    `JsonProcessingException`

### deserializeArray

    protected final ArrayNode deserializeArray(JsonParser jp,
                                               DeserializationContext ctxt,
                                               JsonNodeFactory nodeFactory)
                                        throws IOException,
                                               JsonProcessingException

  Throws:
    `IOException`
    `JsonProcessingException`

### deserializeAny

    protected final JsonNode deserializeAny(JsonParser jp,
                                            DeserializationContext ctxt,
                                            JsonNodeFactory nodeFactory)
                                     throws IOException,
                                            JsonProcessingException

  Throws:
    `IOException`
    `JsonProcessingException`

Copyright © 2012 fasterxml.com. All Rights Reserved.