JsonReader Klasse
- java.
lang. Object - com.
azure. json. JsonReader
- com.
Implementiert
public abstract class JsonReader
implements Closeable
Liest einen JSON-Wert als Datenstrom von Token.
Instanzen von JsonReader werden mithilfe eines instance von JsonProvider oder mit den Hilfsprogrammmethoden in JsonProviderserstellt.
Zusammenfassung zum Konstruktor
Konstruktor | Beschreibung |
---|---|
JsonReader() |
Erstellt eine Instanz von JsonReader. |
Methodenzusammenfassung
Modifizierer und Typ | Methode und Beschreibung |
---|---|
final T |
getNullable(ReadValueCallback<JsonReader,T> nonNullGetter)
Convenience-Methode zum Lesen eines Nullable-Typs. |
final List<T> |
readArray(ReadValueCallback<JsonReader,T> elementReaderFunc)
Liest ein JSON-Array. |
final Map<String,T> |
readMap(ReadValueCallback<JsonReader,T> valueReaderFunc)
Liest eine JSON-Zuordnung. |
final T |
readObject(ReadValueCallback<JsonReader,T> objectReaderFunc)
Liest ein JSON-Objekt. |
abstract
Json |
bufferObject()
Liest das aktuelle JSON-Objekt, auf das der zeigt, und gibt es JsonReader zurück. |
abstract void |
close()
Schließt den JSON-Stream. |
abstract
Json |
currentToken()
Ruft die JsonToken ab, auf die der Leser derzeit verweist. |
abstract byte[] |
getBinary()
Ruft den binärwert ab, wenn der Leser derzeit auf ein STRING Token zeigt. |
abstract boolean |
getBoolean()
Ruft den booleschen Wert ab, wenn der Leser derzeit auf ein BOOLEAN Token zeigt. |
abstract double |
getDouble()
Ruft den Double-Wert ab, wenn der Leser derzeit auf ein NUMBER oder STRINGzeigt. |
abstract String |
getFieldName()
Ruft den Feldnamen ab, wenn der Leser derzeit auf einen FIELD_NAMEzeigt. |
abstract float |
getFloat()
Ruft den float-Wert ab, wenn der Leser derzeit auf ein NUMBER oder STRINGzeigt. |
abstract int |
getInt()
Ruft den wert int ab, wenn der Leser derzeit auf ein NUMBER oder STRINGzeigt. |
abstract long |
getLong()
Ruft den long-Wert ab, wenn der Leser derzeit auf ein NUMBER oder STRINGzeigt. |
String |
getRawText()
Ruft den Unformatierten Textwert für den currentToken()ab. |
abstract String |
getString()
Ruft den Wert String ab, wenn der Leser derzeit auf ein BOOLEAN, NULL, NUMBERoder STRINGzeigt. |
final String |
getText()
Ruft den Textwert für ab currentToken(). |
final boolean |
isEndArrayOrObject()
Gibt an, ob oder currentToken() ist END_ARRAYEND_OBJECT. |
abstract boolean |
isResetSupported()
Gibt an, ob unterstützt wird JsonReaderreset(). |
final boolean |
isStartArrayOrObject()
Gibt an, ob oder currentToken() ist START_ARRAYSTART_OBJECT. |
abstract
Json |
nextToken()
Durchläuft und gibt die nächste JsonToken im JSON-codierten Wert zurück. |
final String |
readChildren()
Liest rekursiv den JSON-Token-Substream, wenn das aktuelle Token entweder START_ARRAY oder START_OBJECTist. |
final void |
readChildren(StringBuilder buffer)
Liest rekursiv den JSON-Tokenunterstrom, wenn das aktuelle Token entweder START_ARRAY oder START_OBJECT im übergebenen StringBuilderist. |
final String |
readRemainingFieldsAsJsonObject()
Liest die verbleibenden Felder im aktuellen JSON-Objekt als JSON-Objekt. |
final void |
readRemainingFieldsAsJsonObject(StringBuilder buffer)
Liest die verbleibenden Felder im aktuellen JSON-Objekt als JSON-Objekt. |
final Object |
readUntyped()
Liest ein nicht typisiertes Objekt. |
abstract
Json |
reset()
Erstellt eine neue JsonReader Zurücksetzung am Anfang des JSON-Datenstroms. |
abstract void |
skipChildren()
Überspringt rekursiv den JSON-Tokenunterstream, wenn das aktuelle Token entweder START_ARRAY oder START_OBJECTist. |
Geerbte Methoden von java.lang.Object
Details zum Konstruktor
JsonReader
public JsonReader()
Erstellt eine Instanz von JsonReader.
Details zur Methode
getNullable
public final T
Convenience-Methode zum Lesen eines Nullable-Typs.
Wenn null currentToken() ist NULL , wird zurückgegeben, andernfalls wird dies JsonReader an die nonNullGetter
Funktion übergeben, um den Wert abzurufen. Effektiv ist dies die generische Form der get*NullableValue-Methoden.
Parameters:
Returns:
Throws:
readArray
public final List
Liest ein JSON-Array.
Wenn null currentToken() ist, wird dies ausgeführt nextToken(). Wenn das Starttoken weiterhin NULL oder NULL NULL ist, wird zurückgegeben. Wenn das Token etwas anderes START_ARRAY als ein IllegalStateException ist, wird ausgelöst.
Sobald der JSON-Stream für das Lesen von Elementen vorbereitet ist, wird das Elementtoken abgerufen und an das übergeben JsonReader , elementReaderFunc
um das Lesen des Elements des Arrays zu verarbeiten. Wenn das Array keine Elemente enthält, wird eine leere Liste zurückgegeben.
Wenn ein JSON-Objekt gelesen readObject(ReadValueCallback<JsonReader,T> objectReaderFunc) werden soll oder eine JSON-Zuordnung gelesen werden soll, verwenden Sie readMap(ReadValueCallback<JsonReader,T> valueReaderFunc).
Parameters:
Returns:
Throws:
readMap
public final Map
Liest eine JSON-Zuordnung.
Wenn null currentToken() ist, wird dies ausgeführt nextToken(). Wenn das Starttoken weiterhin NULL oder NULL NULL ist, wird zurückgegeben. Wenn das Token etwas anderes START_OBJECT als ein IllegalStateException ist, wird ausgelöst.
Sobald der JSON-Stream für das Lesen von Schlüsseln und Werten vorbereitet ist, wird das nächste Token abgerufen und der Feldname als Schlüssel gelesen, dann das nächste Token danach abgerufen und an das valueReaderFunc
übergebenJsonReader, um das Lesen des Werts des Schlüssel-Wert-Paares zu behandeln. Wenn das Objekt über keine Elemente verfügt, wird eine leere Zuordnung zurückgegeben.
Wenn ein JSON-Objekt gelesen readObject(ReadValueCallback<JsonReader,T> objectReaderFunc) werden soll oder wenn ein JSON-Array gelesen werden soll, verwenden Sie readArray(ReadValueCallback<JsonReader,T> elementReaderFunc).
Parameters:
Returns:
Throws:
readObject
public final T
Liest ein JSON-Objekt.
Wenn null currentToken() ist, wird dies ausgeführt nextToken(). Wenn das Starttoken weiterhin NULL oder NULL NULL ist, wird zurückgegeben. Wenn das Token etwas anderes START_OBJECT als ein IllegalStateException ist, wird ausgelöst.
Sobald der JSON-Stream für das Lesen des Objekts vorbereitet ist, wird das nächste Token abgerufen und an das objectReaderFunc
übergebenJsonReader, um das Lesen des Objekts zu verarbeiten.
Wenn ein JSON-Array gelesen werden soll oder readArray(ReadValueCallback<JsonReader,T> elementReaderFunc) wenn eine JSON-Zuordnung gelesen werden soll, verwenden Sie readMap(ReadValueCallback<JsonReader,T> valueReaderFunc).
Parameters:
Returns:
Throws:
bufferObject
public abstract JsonReader bufferObject()
Liest das aktuelle JSON-Objekt, auf das der zeigt, und gibt es JsonReader zurück. Dadurch wird der aktuelle Speicherort dieses JsonReadergeändert.
Wenn der currentToken() nicht START_OBJECT ist oder FIELD_NAME ein IllegalStateException ausgelöst wird.
Wenn der currentToken() ist FIELD_NAME , erstellt dies ein JSON-Objekt, bei dem das erste JSON-Feld das currentToken() Feld ist, was bedeutet, dass dies von der Mitte eines JSON-Objekts aufgerufen werden kann, um ein neues JSON-Objekt mit nur einer Teilmenge von Feldern zu erstellen (die aus denen übrig bleiben, wenn die Methode aufgerufen wird).
Der zurückgegebene JsonReader kann sein reset() , um den zugrunde liegenden JSON-Stream wiederzugeben.
Returns:
Throws:
close
public abstract void close()
Schließt den JSON-Stream.
Throws:
currentToken
public abstract JsonToken currentToken()
Ruft die JsonToken ab, auf die der Leser derzeit verweist.
Gibt NULL zurück, wenn der Leser nicht auf ein Token zeigt. Dies geschieht, wenn der Leser nicht begonnen hat, den JSON-Wert zu lesen oder wenn das Lesen des JSON-Werts abgeschlossen ist.
Returns:
getBinary
public abstract byte[] getBinary()
Ruft den binärwert ab, wenn der Leser derzeit auf ein STRING Token zeigt.
Dadurch wird das Äquivalent von Base64#getDecoder()Base64.Decoder#decode(String)zurückgegeben.
Wenn der Leser auf null NULL zeigt, wird zurückgegeben. Wenn der Leser auf einen anderen Tokentyp zeigt, wird ein IllegalStateException ausgelöst.
Returns:
Throws:
getBoolean
public abstract boolean getBoolean()
Ruft den booleschen Wert ab, wenn der Leser derzeit auf ein BOOLEAN Token zeigt.
Wenn der Leser auf einen anderen Tokentyp zeigt, wird ein IllegalStateException ausgelöst.
Wenn Boolean gelesen werden soll, verwenden Sie getNullable(ReadValueCallback<JsonReader,T> nonNullGetter).
Returns:
Throws:
getDouble
public abstract double getDouble()
Ruft den Double-Wert ab, wenn der Leser derzeit auf ein NUMBER oder STRINGzeigt.
STRING löst ein aus NumberFormatException , wenn der zugrunde liegende Zeichenfolgenwert nicht in ein Double konvertiert werden kann.
Alle anderen JsonToken Typen lösen ein aus IllegalStateException.
Wenn Double gelesen werden soll, verwenden Sie getNullable(ReadValueCallback<JsonReader,T> nonNullGetter).
Returns:
Throws:
getFieldName
public abstract String getFieldName()
Ruft den Feldnamen ab, wenn der Leser derzeit auf einen FIELD_NAMEzeigt.
Alle anderen JsonToken Typen lösen ein aus IllegalStateException.
Returns:
Throws:
getFloat
public abstract float getFloat()
Ruft den float-Wert ab, wenn der Leser derzeit auf ein NUMBER oder STRINGzeigt.
STRING löst ein aus NumberFormatException , wenn der zugrunde liegende Zeichenfolgenwert nicht in einen Float konvertiert werden kann.
Alle anderen JsonToken Typen lösen ein aus IllegalStateException.
Wenn Float gelesen werden soll, verwenden Sie getNullable(ReadValueCallback<JsonReader,T> nonNullGetter).
Returns:
Throws:
getInt
public abstract int getInt()
Ruft den wert int ab, wenn der Leser derzeit auf ein NUMBER oder STRINGzeigt.
STRING löst ein aus NumberFormatException , wenn der zugrunde liegende Zeichenfolgenwert nicht in einen int konvertiert werden kann.
Alle anderen JsonToken Typen lösen ein aus IllegalStateException.
Wenn Integer gelesen werden soll, verwenden Sie getNullable(ReadValueCallback<JsonReader,T> nonNullGetter).
Returns:
Throws:
getLong
public abstract long getLong()
Ruft den long-Wert ab, wenn der Leser derzeit auf ein NUMBER oder STRINGzeigt.
STRING löst ein aus NumberFormatException , wenn der zugrunde liegende Zeichenfolgenwert nicht in einen long konvertiert werden kann.
Alle anderen JsonToken Typen lösen ein aus IllegalStateException.
Wenn Long gelesen werden soll, verwenden Sie getNullable(ReadValueCallback<JsonReader,T> nonNullGetter).
Returns:
Throws:
getRawText
public String getRawText()
Ruft den Unformatierten Textwert für den currentToken()ab.
Die einzelnen JsonToken Typen werden wie folgt behandelt:
- START_OBJECT -> {
- END_OBJECT -> }
- START_ARRAY -> [
- END_ARRAY -> ]
- FIELD_NAME ->getFieldName() Beibehalten von JSON-codierten und anführungszeichen
- BOOLEAN –> String.valueOf getBoolean()
- NULL -> "null"
- STRING ->getString() Beibehalten von JSON-codierten und anführungszeichen
- NUMBER –> String.valueOf getString()
Wenn das aktuelle Token NULL ist, wird ausgelöst IllegalStateException .
Returns:
Throws:
getString
public abstract String getString()
Ruft den Wert String ab, wenn der Leser derzeit auf ein BOOLEAN, NULL, NUMBERoder STRINGzeigt.
Wenn das aktuelle Token ein BOOLEANist oder NUMBER die Zeichenfolgendarstellung des Werts zurückgegeben wird. Wenn das aktuelle Token NULL ist NULL , wird zurückgegeben.
Alle anderen JsonToken Typen lösen ein aus IllegalStateException.
Returns:
Throws:
getText
public final String getText()
Ruft den Textwert für ab currentToken().
Die einzelnen JsonToken Typen werden wie folgt behandelt:
- START_OBJECT -> {
- END_OBJECT -> }
- START_ARRAY -> [
- END_ARRAY -> ]
- FIELD_NAME ->getFieldName()
- BOOLEAN –> String.valueOf getBoolean()
- NULL -> "null"
- STRING ->getString()
- NUMBER –> String.valueOf getString()
Wenn das aktuelle Token NULL ist, wird ausgelöst IllegalStateException .
Returns:
Throws:
isEndArrayOrObject
public final boolean isEndArrayOrObject()
Gibt an, ob oder currentToken() ist END_ARRAYEND_OBJECT.
Returns:
isResetSupported
public abstract boolean isResetSupported()
Gibt an, ob unterstützt wird JsonReaderreset().
Returns:
isStartArrayOrObject
public final boolean isStartArrayOrObject()
Gibt an, ob oder currentToken() ist START_ARRAYSTART_OBJECT.
Returns:
nextToken
public abstract JsonToken nextToken()
Durchläuft und gibt die nächste JsonToken im JSON-codierten Wert zurück.
Gibt NULL zurück, wenn das Durchlaufen auf das nächste Token das Lesen des JSON-codierten Werts abgeschlossen hat.
Returns:
Throws:
readChildren
public final String readChildren()
Liest rekursiv den JSON-Token-Substream, wenn das aktuelle Token entweder START_ARRAY oder START_OBJECTist.
Wenn nicht currentToken()START_OBJECT oder START_ARRAY nichts gelesen wird.
Returns:
Throws:
readChildren
public final void readChildren(StringBuilder buffer)
Liest rekursiv den JSON-Tokenunterstrom, wenn das aktuelle Token entweder START_ARRAY oder START_OBJECT im übergebenen StringBuilderist.
Wenn nicht currentToken()START_OBJECT oder START_ARRAY nichts gelesen wird.
Parameters:
Throws:
buffer
null ist.
readRemainingFieldsAsJsonObject
public final String readRemainingFieldsAsJsonObject()
Liest die verbleibenden Felder im aktuellen JSON-Objekt als JSON-Objekt.
Wenn die currentToken() ist START_OBJECT , funktioniert dies mit readChildren(). Wenn der currentToken() ist FIELD_NAME , wird ein JSON-Objekt erstellt, bei dem das erste Feld das aktuelle Feld ist und die restlichen Felder im JSON-Objekt liest.
Wenn nicht currentToken()START_OBJECT oder FIELD_NAME nichts gelesen wird.
Returns:
Throws:
readRemainingFieldsAsJsonObject
public final void readRemainingFieldsAsJsonObject(StringBuilder buffer)
Liest die verbleibenden Felder im aktuellen JSON-Objekt als JSON-Objekt.
Wenn die currentToken() ist START_OBJECT , funktioniert dies mit readChildren(StringBuilder buffer). Wenn der currentToken() ist FIELD_NAME , wird ein JSON-Objekt erstellt, bei dem das erste Feld das aktuelle Feld ist und die restlichen Felder im JSON-Objekt liest.
Wenn nicht currentToken()START_OBJECT oder FIELD_NAME nichts gelesen wird.
Parameters:
Throws:
buffer
null ist.
readUntyped
public final Object readUntyped()
Liest ein nicht typisiertes Objekt.
Wenn null currentToken() ist, wird dies ausgeführt nextToken().
Wenn das Starttoken END_ARRAY, oder FIELD_NAME ist, END_OBJECTwird ausgelöstIllegalStateException, da dies ungültige Startpunkte für das Lesen eines unbekannten Typs sind. Wenn das nicht typisierte Objekt tief geschachtelt ist, wird auch ein IllegalStateException ausgelöst, um eine Stapelüberlaufausnahme zu verhindern.
Das zurückgegebene Objekt ist eines der folgenden:
- null, wenn das Starttoken NULL oder NULL
- true oder false, wenn das Starttoken lautet BOOLEAN
- Einer von int, long, float oder double ist das Starttoken NUMBER. Der kleinste enthaltende Wert wird verwendet, wenn die Zahl eine ganze Zahl ist.
- Ein Array nicht typisierter Elemente, wenn der Ausgangspunkt ist START_ARRAY
- Eine Zuordnung des nicht typisierten String-Werts, wenn der Startpunkt ist START_OBJECT
Returns:
Throws:
reset
public abstract JsonReader reset()
Erstellt eine neue JsonReader Zurücksetzung am Anfang des JSON-Datenstroms.
Verwenden Sie isResetSupported() , um zu bestimmen, ob die JsonReader zurückgesetzt werden kann. Wenn das Zurücksetzen aufgerufen wird und es nicht unterstützt wird, wird ein IllegalStateException ausgelöst.
Returns:
Throws:
skipChildren
public abstract void skipChildren()
Überspringt rekursiv den JSON-Tokenunterstream, wenn das aktuelle Token entweder START_ARRAY oder START_OBJECTist.
Wenn das aktuelle Token nicht der Anfang eines Arrays oder Objekts ist, ist diese Methode ein No-Op.
Throws:
Gilt für:
Azure SDK for Java