public abstract class JsonParser extends Object implements Closeable
Implementation has no fields and therefore thread-safe, but sub-classes are not necessarily thread-safe.
If a JSON map is encountered while using a destination class of type Map, then an ArrayMap
is used by default for the parsed values.
Constructor and Description |
---|
JsonParser() |
Modifier and Type | Method and Description |
---|---|
abstract void |
close()
Closes the parser and the underlying input stream or reader, and releases any memory associated
with it.
|
abstract BigInteger |
getBigIntegerValue()
Returns the
BigInteger value of the current token. |
abstract byte |
getByteValue()
Returns the byte value of the current token.
|
abstract String |
getCurrentName()
Returns the most recent field name or
null for array values or for root-level values. |
abstract JsonToken |
getCurrentToken()
Returns the token the parser currently points to or
null for none (at start of input or
after end of input). |
abstract BigDecimal |
getDecimalValue()
Returns the
BigDecimal value of the current token. |
abstract double |
getDoubleValue()
Returns the double value of the current token.
|
abstract JsonFactory |
getFactory()
Returns the JSON factory from which this generator was created.
|
abstract float |
getFloatValue()
Returns the float value of the current token.
|
abstract int |
getIntValue()
Returns the int value of the current token.
|
abstract long |
getLongValue()
Returns the long value of the current token.
|
abstract short |
getShortValue()
Returns the short value of the current token.
|
abstract String |
getText()
|
abstract JsonToken |
nextToken()
Returns the next token from the stream or
null to indicate end of input. |
<T> T |
parse(Class<T> destinationClass)
Parse a JSON object, array, or value into a new instance of the given destination class.
|
<T> T |
parse(Class<T> destinationClass,
CustomizeJsonParser customizeParser)
Beta Parse a JSON object, array, or value into a new instance of the given destination class, optionally using the given parser customizer. |
void |
parse(Object destination)
Parse a JSON object from the given JSON parser into the given destination object.
|
void |
parse(Object destination,
CustomizeJsonParser customizeParser)
Beta Parse a JSON object from the given JSON parser into the given destination object, optionally using the given parser customizer. |
Object |
parse(Type dataType,
boolean close)
Parse a JSON object, array, or value into a new instance of the given destination class.
|
Object |
parse(Type dataType,
boolean close,
CustomizeJsonParser customizeParser)
Beta Parse a JSON object, array, or value into a new instance of the given destination class, optionally using the given parser customizer. |
<T> T |
parseAndClose(Class<T> destinationClass)
Parse a JSON object, array, or value into a new instance of the given destination class, and
then closes the parser.
|
<T> T |
parseAndClose(Class<T> destinationClass,
CustomizeJsonParser customizeParser)
Beta Parse a JSON object, array, or value into a new instance of the given destination class using parse(Class, CustomizeJsonParser) , and then closes the parser. |
void |
parseAndClose(Object destination)
Parse a JSON Object from the given JSON parser -- which is closed after parsing completes --
into the given destination object.
|
void |
parseAndClose(Object destination,
CustomizeJsonParser customizeParser)
Beta Parse a JSON Object from the given JSON parser -- which is closed after parsing completes -- into the given destination object, optionally using the given parser customizer. |
<T> Collection<T> |
parseArray(Class<?> destinationCollectionClass,
Class<T> destinationItemClass)
Parse a JSON Array from the given JSON parser into the given destination collection.
|
<T> Collection<T> |
parseArray(Class<?> destinationCollectionClass,
Class<T> destinationItemClass,
CustomizeJsonParser customizeParser)
Beta Parse a JSON Array from the given JSON parser into the given destination collection, optionally using the given parser customizer. |
<T> void |
parseArray(Collection<? super T> destinationCollection,
Class<T> destinationItemClass)
Parse a JSON Array from the given JSON parser into the given destination collection.
|
<T> void |
parseArray(Collection<? super T> destinationCollection,
Class<T> destinationItemClass,
CustomizeJsonParser customizeParser)
Beta Parse a JSON Array from the given JSON parser into the given destination collection, optionally using the given parser customizer. |
<T> Collection<T> |
parseArrayAndClose(Class<?> destinationCollectionClass,
Class<T> destinationItemClass)
Parse a JSON Array from the given JSON parser (which is closed after parsing completes) into
the given destination collection.
|
<T> Collection<T> |
parseArrayAndClose(Class<?> destinationCollectionClass,
Class<T> destinationItemClass,
CustomizeJsonParser customizeParser)
Beta Parse a JSON Array from the given JSON parser (which is closed after parsing completes) into the given destination collection, optionally using the given parser customizer. |
<T> void |
parseArrayAndClose(Collection<? super T> destinationCollection,
Class<T> destinationItemClass)
Parse a JSON Array from the given JSON parser (which is closed after parsing completes) into
the given destination collection.
|
<T> void |
parseArrayAndClose(Collection<? super T> destinationCollection,
Class<T> destinationItemClass,
CustomizeJsonParser customizeParser)
Beta Parse a JSON Array from the given JSON parser (which is closed after parsing completes) into the given destination collection, optionally using the given parser customizer. |
abstract JsonParser |
skipChildren()
Skips to the matching
JsonToken.END_ARRAY if current token is JsonToken.START_ARRAY , the matching JsonToken.END_OBJECT if the current token is
JsonToken.START_OBJECT , else does nothing. |
String |
skipToKey(Set<String> keysToFind)
Skips the values of all keys in the current object until it finds one of the given keys.
|
void |
skipToKey(String keyToFind)
Skips the values of all keys in the current object until it finds the given key.
|
public abstract JsonFactory getFactory()
public abstract void close() throws IOException
close
in interface Closeable
close
in interface AutoCloseable
IOException
public abstract JsonToken nextToken() throws IOException
null
to indicate end of input.IOException
public abstract JsonToken getCurrentToken()
null
for none (at start of input or
after end of input).public abstract String getCurrentName() throws IOException
null
for array values or for root-level values.IOException
public abstract JsonParser skipChildren() throws IOException
JsonToken.END_ARRAY
if current token is JsonToken.START_ARRAY
, the matching JsonToken.END_OBJECT
if the current token is
JsonToken.START_OBJECT
, else does nothing.IOException
public abstract String getText() throws IOException
IOException
public abstract byte getByteValue() throws IOException
IOException
public abstract short getShortValue() throws IOException
IOException
public abstract int getIntValue() throws IOException
IOException
public abstract float getFloatValue() throws IOException
IOException
public abstract long getLongValue() throws IOException
IOException
public abstract double getDoubleValue() throws IOException
IOException
public abstract BigInteger getBigIntegerValue() throws IOException
BigInteger
value of the current token.IOException
public abstract BigDecimal getDecimalValue() throws IOException
BigDecimal
value of the current token.IOException
public final <T> T parseAndClose(Class<T> destinationClass) throws IOException
T
- destination classdestinationClass
- destination class that has a public default constructor to use to
create a new instanceIOException
@Beta public final <T> T parseAndClose(Class<T> destinationClass, CustomizeJsonParser customizeParser) throws IOException
Beta
parse(Class, CustomizeJsonParser)
, and then closes the parser.T
- destination classdestinationClass
- destination class that has a public default constructor to use to
create a new instancecustomizeParser
- optional parser customizer or null
for noneIOException
public final void skipToKey(String keyToFind) throws IOException
Before this method is called, the parser must either point to the start or end of a JSON
object or to a field name. After this method ends, the current token will either be the JsonToken.END_OBJECT
of the current object if the key is not found, or the value of the key
that was found.
keyToFind
- key to findIOException
public final String skipToKey(Set<String> keysToFind) throws IOException
Before this method is called, the parser must either point to the start or end of a JSON
object or to a field name. After this method ends, the current token will either be the JsonToken.END_OBJECT
of the current object if no matching key is found, or the value of the
key that was found.
keysToFind
- set of keys to look fornull
if no match was foundIOException
public final void parseAndClose(Object destination) throws IOException
Before this method is called, the parser must either point to the start or end of a JSON object or to a field name.
destination
- destination objectIOException
@Beta public final void parseAndClose(Object destination, CustomizeJsonParser customizeParser) throws IOException
Beta
Before this method is called, the parser must either point to the start or end of a JSON object or to a field name.
destination
- destination objectcustomizeParser
- optional parser customizer or null
for noneIOException
public final <T> T parse(Class<T> destinationClass) throws IOException
If it parses an object, after this method ends, the current token will be the object's
ending JsonToken.END_OBJECT
. If it parses an array, after this method ends, the current
token will be the array's ending JsonToken.END_ARRAY
.
T
- destination classdestinationClass
- destination class that has a public default constructor to use to
create a new instanceIOException
@Beta public final <T> T parse(Class<T> destinationClass, CustomizeJsonParser customizeParser) throws IOException
Beta
If it parses an object, after this method ends, the current token will be the object's
ending JsonToken.END_OBJECT
. If it parses an array, after this method ends, the current
token will be the array's ending JsonToken.END_ARRAY
.
T
- destination classdestinationClass
- destination class that has a public default constructor to use to
create a new instancecustomizeParser
- optional parser customizer or null
for noneIOException
public Object parse(Type dataType, boolean close) throws IOException
If it parses an object, after this method ends, the current token will be the object's
ending JsonToken.END_OBJECT
. If it parses an array, after this method ends, the current
token will be the array's ending JsonToken.END_ARRAY
.
dataType
- Type into which the JSON should be parsedclose
- true
if close()
should be called after parsingIOException
@Beta public Object parse(Type dataType, boolean close, CustomizeJsonParser customizeParser) throws IOException
Beta
If it parses an object, after this method ends, the current token will be the object's
ending JsonToken.END_OBJECT
. If it parses an array, after this method ends, the current
token will be the array's ending JsonToken.END_ARRAY
.
dataType
- Type into which the JSON should be parsedclose
- true
if close()
should be called after parsingcustomizeParser
- optional parser customizer or null
for noneIOException
public final void parse(Object destination) throws IOException
Before this method is called, the parser must either point to the start or end of a JSON
object or to a field name. After this method ends, the current token will be the JsonToken.END_OBJECT
of the current object.
destination
- destination objectIOException
@Beta public final void parse(Object destination, CustomizeJsonParser customizeParser) throws IOException
Beta
Before this method is called, the parser must either point to the start or end of a JSON
object or to a field name. After this method ends, the current token will be the JsonToken.END_OBJECT
of the current object.
destination
- destination objectcustomizeParser
- optional parser customizer or null
for noneIOException
public final <T> Collection<T> parseArrayAndClose(Class<?> destinationCollectionClass, Class<T> destinationItemClass) throws IOException
destinationCollectionClass
- class of destination collection (must have a public default
constructor)destinationItemClass
- class of destination collection item (must have a public default
constructor)IOException
@Beta public final <T> Collection<T> parseArrayAndClose(Class<?> destinationCollectionClass, Class<T> destinationItemClass, CustomizeJsonParser customizeParser) throws IOException
Beta
destinationCollectionClass
- class of destination collection (must have a public default
constructor)destinationItemClass
- class of destination collection item (must have a public default
constructor)customizeParser
- optional parser customizer or null
for noneIOException
public final <T> void parseArrayAndClose(Collection<? super T> destinationCollection, Class<T> destinationItemClass) throws IOException
destinationCollection
- destination collectiondestinationItemClass
- class of destination collection item (must have a public default
constructor)IOException
@Beta public final <T> void parseArrayAndClose(Collection<? super T> destinationCollection, Class<T> destinationItemClass, CustomizeJsonParser customizeParser) throws IOException
Beta
destinationCollection
- destination collectiondestinationItemClass
- class of destination collection item (must have a public default
constructor)customizeParser
- optional parser customizer or null
for noneIOException
public final <T> Collection<T> parseArray(Class<?> destinationCollectionClass, Class<T> destinationItemClass) throws IOException
destinationCollectionClass
- class of destination collection (must have a public default
constructor)destinationItemClass
- class of destination collection item (must have a public default
constructor)IOException
@Beta public final <T> Collection<T> parseArray(Class<?> destinationCollectionClass, Class<T> destinationItemClass, CustomizeJsonParser customizeParser) throws IOException
Beta
destinationCollectionClass
- class of destination collection (must have a public default
constructor)destinationItemClass
- class of destination collection item (must have a public default
constructor)customizeParser
- optional parser customizer or null
for noneIOException
public final <T> void parseArray(Collection<? super T> destinationCollection, Class<T> destinationItemClass) throws IOException
destinationCollection
- destination collectiondestinationItemClass
- class of destination collection item (must have a public default
constructor)IOException
@Beta public final <T> void parseArray(Collection<? super T> destinationCollection, Class<T> destinationItemClass, CustomizeJsonParser customizeParser) throws IOException
Beta
destinationCollection
- destination collectiondestinationItemClass
- class of destination collection item (must have a public default
constructor)customizeParser
- optional parser customizer or null
for noneIOException
Copyright © 2011–2023 Google. All rights reserved.