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 ofJsonNodefrom any JSON content, using appropriateJsonNodetype.- 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 protectedJsonNodeDeserializer()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void_handleDuplicateField(java.lang.String fieldName, ObjectNode objectNode, JsonNode oldValue, JsonNode newValue)Method called when there is a duplicate value for a field.protected void_reportProblem(JsonParser jp, java.lang.String msg)JsonNodedeserialize(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 JsonNodedeserializeAny(JsonParser jp, DeserializationContext ctxt, JsonNodeFactory nodeFactory)protected ArrayNodedeserializeArray(JsonParser jp, DeserializationContext ctxt, JsonNodeFactory nodeFactory)protected ObjectNodedeserializeObject(JsonParser jp, DeserializationContext ctxt, JsonNodeFactory nodeFactory)java.lang.ObjectdeserializeWithType(JsonParser jp, DeserializationContext ctxt, TypeDeserializer typeDeserializer)Base implementation that does not assume specific type inclusion mechanism.static JsonDeserializer<? extends JsonNode>getDeserializer(java.lang.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(java.lang.Class<?> nodeClass)
Factory method for accessing deserializer for specific node type
-
deserialize
public JsonNode deserialize(JsonParser jp, DeserializationContext ctxt) throws java.io.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:
deserializein 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:
java.io.IOExceptionJsonProcessingException
-
deserializeWithType
public java.lang.Object deserializeWithType(JsonParser jp, DeserializationContext ctxt, TypeDeserializer typeDeserializer) throws java.io.IOException, JsonProcessingException
Description copied from class:StdDeserializerBase 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:
deserializeWithTypein classStdDeserializer<N extends JsonNode>typeDeserializer- Deserializer to use for handling type information- Throws:
java.io.IOExceptionJsonProcessingException
-
_reportProblem
protected void _reportProblem(JsonParser jp, java.lang.String msg) throws JsonMappingException
- Throws:
JsonMappingException
-
_handleDuplicateField
protected void _handleDuplicateField(java.lang.String fieldName, ObjectNode objectNode, JsonNode oldValue, JsonNode newValue) throws JsonProcessingExceptionMethod 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 java.io.IOException, JsonProcessingException
- Throws:
java.io.IOExceptionJsonProcessingException
-
deserializeArray
protected final ArrayNode deserializeArray(JsonParser jp, DeserializationContext ctxt, JsonNodeFactory nodeFactory) throws java.io.IOException, JsonProcessingException
- Throws:
java.io.IOExceptionJsonProcessingException
-
deserializeAny
protected final JsonNode deserializeAny(JsonParser jp, DeserializationContext ctxt, JsonNodeFactory nodeFactory) throws java.io.IOException, JsonProcessingException
- Throws:
java.io.IOExceptionJsonProcessingException
-
-