Class JsonNodeDeserializer
- java.lang.Object
-
- org.codehaus.jackson.map.JsonDeserializer<T>
-
- org.codehaus.jackson.map.deser.std.StdDeserializer<N>
-
- org.codehaus.jackson.map.deser.std.JsonNodeDeserializer
-
- Direct Known Subclasses:
JsonNodeDeserializer
public class JsonNodeDeserializer extends StdDeserializer<N>
Deserializer that can build instances ofJsonNode
from any JSON content, using appropriateJsonNode
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 Modifier Constructor Description protected
JsonNodeDeserializer()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description 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 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
-
-
-
-
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 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>
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 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
-
-