Class JsonNodeDeserializer
java.lang.Object
org.codehaus.jackson.map.JsonDeserializer<JsonNode>
org.codehaus.jackson.map.deser.std.StdDeserializer<JsonNode>
org.codehaus.jackson.map.deser.std.JsonNodeDeserializer
- Direct Known Subclasses:
JsonNodeDeserializer
Deserializer that can build instances of
JsonNode
from any
JSON content, using appropriate JsonNode
type.- Since:
- 1.9 (moved from higher-level package)
-
Nested Class Summary
Nested classes/interfaces inherited from class org.codehaus.jackson.map.deser.std.StdDeserializer
StdDeserializer.BigDecimalDeserializer, StdDeserializer.BigIntegerDeserializer, StdDeserializer.BooleanDeserializer, StdDeserializer.ByteDeserializer, StdDeserializer.CharacterDeserializer, StdDeserializer.DoubleDeserializer, StdDeserializer.FloatDeserializer, StdDeserializer.IntegerDeserializer, StdDeserializer.LongDeserializer, StdDeserializer.NumberDeserializer, StdDeserializer.PrimitiveOrWrapperDeserializer<T>, StdDeserializer.ShortDeserializer, StdDeserializer.SqlDateDeserializer, StdDeserializer.StackTraceElementDeserializer
Nested classes/interfaces inherited from class org.codehaus.jackson.map.JsonDeserializer
JsonDeserializer.None
-
Field Summary
Fields inherited from class org.codehaus.jackson.map.deser.std.StdDeserializer
_valueClass
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected 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) 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 final JsonNode
deserializeAny
(JsonParser jp, DeserializationContext ctxt, JsonNodeFactory nodeFactory) protected final ArrayNode
deserializeArray
(JsonParser jp, DeserializationContext ctxt, JsonNodeFactory nodeFactory) protected final ObjectNode
deserializeObject
(JsonParser jp, DeserializationContext ctxt, JsonNodeFactory nodeFactory) 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 typeMethods inherited from class org.codehaus.jackson.map.deser.std.StdDeserializer
_parseBoolean, _parseBooleanFromNumber, _parseBooleanPrimitive, _parseByte, _parseDate, _parseDouble, _parseDoublePrimitive, _parseFloat, _parseFloatPrimitive, _parseInteger, _parseIntPrimitive, _parseLong, _parseLongPrimitive, _parseShort, _parseShortPrimitive, findDeserializer, getValueClass, getValueType, handleUnknownProperty, isDefaultSerializer, parseDouble, reportUnknownProperty
Methods inherited from class org.codehaus.jackson.map.JsonDeserializer
deserialize, getEmptyValue, getNullValue, unwrappingDeserializer
-
Constructor Details
-
JsonNodeDeserializer
protected JsonNodeDeserializer()
-
-
Method Details
-
getDeserializer
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 classJsonDeserializer<JsonNode>
- Parameters:
jp
- Parsed used for reading JSON contentctxt
- 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 classStdDeserializer<N extends JsonNode>
- Parameters:
typeDeserializer
- Deserializer to use for handling type information- Throws:
IOException
JsonProcessingException
-
_reportProblem
- 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 foundobjectNode
- Object node that contains valuesoldValue
- Value that existed for the object node before newValue was addednewValue
- 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
-