public abstract class BaseJsonNode extends JsonNode implements Serializable
JsonNode
implementations.
The main addition here is that we declare that sub-classes must
implement JsonSerializable.
This simplifies object mapping aspects a bit, as no external serializers are needed.
Since 2.10, all implements have been Serializable.
JsonSerializable.Base| Modifier | Constructor and Description |
|---|---|
protected |
BaseJsonNode() |
| Modifier and Type | Method and Description |
|---|---|
abstract JsonToken |
asToken()
Method that can be used for efficient type detection
when using stream abstraction for traversing nodes.
|
JsonNode |
findPath(String fieldName)
Method similar to
JsonNode.findValue(java.lang.String), but that will return a
"missing node" instead of null if no field is found. |
abstract int |
hashCode() |
JsonParser.NumberType |
numberType()
Returns code that identifies type of underlying numeric
value, if (and only if) node is a number node.
|
JsonNode |
required(int index)
Method is functionally equivalent to
path(index).required()
and can be used to check that this node is an ArrayNode (that is, represents
JSON Array value) and has value for specified index
(but note that value may be explicit JSON null value). |
JsonNode |
required(String fieldName)
Method is functionally equivalent to
path(fieldName).required()
and can be used to check that this node is an ObjectNode (that is, represents
JSON Object value) and has value for specified property with key fieldName
(but note that value may be explicit JSON null value). |
abstract void |
serialize(JsonGenerator jgen,
SerializerProvider provider)
Method called to serialize node instances using given generator.
|
abstract void |
serializeWithType(JsonGenerator jgen,
SerializerProvider provider,
TypeSerializer typeSer)
Type information is needed, even if JsonNode instances are "plain" JSON,
since they may be mixed with other types.
|
String |
toPrettyString()
Alternative to
JsonNode.toString() that will serialize this node using
Jackson default pretty-printer. |
String |
toString()
Method that will produce (as of Jackson 2.10) valid JSON using
default settings of databind, as String.
|
JsonParser |
traverse() |
JsonParser |
traverse(ObjectCodec codec) |
_at, _reportRequiredViolation, _this, asBoolean, asBoolean, asDouble, asDouble, asInt, asInt, asLong, asLong, asText, asText, at, at, bigIntegerValue, binaryValue, booleanValue, canConvertToInt, canConvertToLong, decimalValue, deepCopy, doubleValue, elements, equals, equals, fieldNames, fields, findParent, findParents, findParents, findValue, findValues, findValues, findValuesAsText, findValuesAsText, floatValue, get, get, getNodeType, has, has, hasNonNull, hasNonNull, intValue, isArray, isBigDecimal, isBigInteger, isBinary, isBoolean, isContainerNode, isDouble, isEmpty, isFloat, isFloatingPointNumber, isInt, isIntegralNumber, isLong, isMissingNode, isNull, isNumber, isObject, isPojo, isShort, isTextual, isValueNode, iterator, longValue, numberValue, path, path, require, requiredAt, requiredAt, requireNonNull, shortValue, size, textValue, with, withArrayisEmptyclone, finalize, getClass, notify, notifyAll, wait, wait, waitforEach, spliteratorpublic final JsonNode findPath(String fieldName)
JsonNodeJsonNode.findValue(java.lang.String), but that will return a
"missing node" instead of null if no field is found. Missing node
is a specific kind of node for which JsonNode.isMissingNode()
returns true; and all value access methods return empty or
missing value.public JsonNode required(String fieldName)
JsonNodepath(fieldName).required()
and can be used to check that this node is an ObjectNode (that is, represents
JSON Object value) and has value for specified property with key fieldName
(but note that value may be explicit JSON null value).
If this node is Object Node and has value for specified property, this is returned
to allow chaining; otherwise IllegalArgumentException is thrown.public JsonNode required(int index)
JsonNodepath(index).required()
and can be used to check that this node is an ArrayNode (that is, represents
JSON Array value) and has value for specified index
(but note that value may be explicit JSON null value).
If this node is Array Node and has value for specified index, this is returned
to allow chaining; otherwise IllegalArgumentException is thrown.public JsonParser traverse()
public JsonParser traverse(ObjectCodec codec)
public abstract JsonToken asToken()
JsonToken that equivalent
stream event would produce (for most nodes there is just
one token but for structured/container types multiple)public JsonParser.NumberType numberType()
numberType in interface TreeNodepublic abstract void serialize(JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException
serialize in interface JsonSerializableIOExceptionJsonProcessingExceptionpublic abstract void serializeWithType(JsonGenerator jgen, SerializerProvider provider, TypeSerializer typeSer) throws IOException, JsonProcessingException
serializeWithType in interface JsonSerializableIOExceptionJsonProcessingExceptionpublic String toString()
JsonNodeObjectMapper or ObjectWriter to serialize an
instance, for example:
String json = objectMapper.writeValueAsString(rootNode);
Note: method defined as abstract to ensure all implementation
classes explicitly implement method, instead of relying
on Object.toString() definition.
public String toPrettyString()
JsonNodeJsonNode.toString() that will serialize this node using
Jackson default pretty-printer.toPrettyString in class JsonNodeCopyright © 2008–2020 FasterXML. All rights reserved.