Utf8JsonReader Struktura

Definicja

Zapewnia interfejs API o wysokiej wydajności na potrzeby dostępu tylko do odczytu do tekstu JSON zakodowanego w formacie UTF-8.

public value class Utf8JsonReader
public ref struct Utf8JsonReader
type Utf8JsonReader = struct
Public Structure Utf8JsonReader
Dziedziczenie
Utf8JsonReader

Uwagi

Utf8JsonReader przetwarza tekst sekwencyjnie bez buforowania i domyślnie jest ściśle zgodny z JSON RFC.

W przypadku Utf8JsonReader napotkania nieprawidłowego JsonException kodu JSON zgłasza on podstawowe informacje o błędzie, takie jak numer wiersza i położenie bajtów w wierszu.

Ponieważ ten typ jest strukturą ref, nie obsługuje bezpośrednio asynchronicznego. Jednak zapewnia obsługę ponownego wywrotu w celu odczytywania niekompletnych danych i kontynuowania odczytywania po raz kolejny danych.

Aby można było ustawić maksymalną głębokość podczas odczytywania lub zezwalać na pomijanie komentarzy, utwórz wystąpienie JsonReaderOptions i przekaż ją do czytnika.

Aby uzyskać więcej informacji, zobacz How to write custom serializers and deserializers with System.Text.Json (Jak pisać niestandardowe serializatory i deserializatory za pomocą pliku System.Text.Json).

Konstruktory

Utf8JsonReader(ReadOnlySequence<Byte>, Boolean, JsonReaderState)

Inicjuje Utf8JsonReader nowe wystąpienie struktury, która przetwarza sekwencję tylko do odczytu zakodowanego tekstu UTF-8 i wskazuje, czy dane wejściowe zawierają cały tekst do przetworzenia.

Utf8JsonReader(ReadOnlySequence<Byte>, JsonReaderOptions)

Inicjuje Utf8JsonReader nowe wystąpienie struktury, która przetwarza sekwencję tylko do odczytu zakodowanego tekstu UTF-8 przy użyciu określonych opcji.

Utf8JsonReader(ReadOnlySpan<Byte>, Boolean, JsonReaderState)

Inicjuje Utf8JsonReader nowe wystąpienie struktury, która przetwarza tylko do odczytu zakodowany tekst UTF-8 i wskazuje, czy dane wejściowe zawierają cały tekst do przetworzenia.

Utf8JsonReader(ReadOnlySpan<Byte>, JsonReaderOptions)

Inicjuje Utf8JsonReader nowe wystąpienie struktury, która przetwarza zakres tylko do odczytu zakodowanego tekstu UTF-8 przy użyciu określonych opcji.

Właściwości

BytesConsumed

Pobiera łączną liczbę bajtów użytych do tej pory przez to wystąpienie klasy Utf8JsonReader.

CurrentDepth

Pobiera głębokość bieżącego tokenu.

CurrentState

Pobiera bieżący Utf8JsonReader stan, który ma być przekazywany do konstruktora z większą ilością Utf8JsonReader danych.

HasValueSequence

Pobiera wartość wskazującą, której właściwości Value użyć do pobrania wartości tokenu.

IsFinalBlock

Pobiera tryb tego wystąpienia Utf8JsonReader , który wskazuje, czy wszystkie dane JSON zostały dostarczone, czy też są dostępne więcej danych.

Position

Pobiera bieżący w SequencePosition ramach podanego zakodowanego w formacie UTF-8 bajtu> wejściowego ReadOnlySequence<lub wartość domyślnąSequencePosition, jeśli Utf8JsonReader struktura została skonstruowana przy użyciu bajtu> ReadOnlySpan<.

TokenStartIndex

Pobiera indeks rozpoczynający się od ostatniego przetworzonego tokenu JSON (w ramach określonego zakodowanego tekstu wejściowego UTF-8), pomijając wszelkie białe znaki.

TokenType

Pobiera typ ostatniego przetworzonego tokenu JSON w tekście JSON zakodowanym w formacie UTF-8.

ValueIsEscaped

Pobiera wartość wskazującą, czy bieżąca ValueSpan lub ValueSequence właściwości zawierają sekwencje ucieczki dla sekcji 8259 RFC 7, a zatem wymagają odłączenia przed zużyciem.

ValueSequence

Pobiera nieprzetworzoną wartość ostatniego przetworzonego tokenu jako wycinka bajtów> readOnlySequence<ładunku wejściowego, tylko wtedy, gdy token znajduje się w wielu segmentach.

ValueSpan

Pobiera nieprzetworzoną wartość ostatniego przetworzonego tokenu jako fragment bajtu readOnlySpan<> ładunku wejściowego, jeśli token mieści się w jednym segmencie lub jeśli czytnik został skonstruowany z ładunkiem JSON zawartym w bajtach> ReadOnlySpan<.

Metody

CopyString(Span<Byte>)

Kopiuje bieżącą wartość tokenu JSON ze źródła, unescaped jako ciąg UTF-8 do buforu docelowego.

CopyString(Span<Char>)

Kopiuje bieżącą wartość tokenu JSON ze źródła, unescaped i transkodowane jako bufor UTF-16 char.

GetBoolean()

Odczytuje następną wartość tokenu JSON ze źródła jako Boolean.

GetByte()

Analizuje bieżącą wartość tokenu JSON ze źródła jako Byte.

GetBytesFromBase64()

Analizuje bieżącą wartość tokenu JSON ze źródła i dekoduje ciąg JSON zakodowany w formacie Base64 jako tablicę bajtów.

GetComment()

Analizuje bieżącą wartość tokenu JSON ze źródła jako komentarz, transkodował ją jako String.

GetDateTime()

Odczytuje następną wartość tokenu JSON ze źródła i analizuje ją do elementu DateTime.

GetDateTimeOffset()

Odczytuje następną wartość tokenu JSON ze źródła i analizuje ją do elementu DateTimeOffset.

GetDecimal()

Odczytuje następną wartość tokenu JSON ze źródła i analizuje ją do elementu Decimal.

GetDouble()

Odczytuje następną wartość tokenu JSON ze źródła i analizuje ją do elementu Double.

GetGuid()

Odczytuje następną wartość tokenu JSON ze źródła i analizuje ją do elementu Guid.

GetInt16()

Analizuje bieżącą wartość tokenu JSON ze źródła jako Int16.

GetInt32()

Odczytuje następną wartość tokenu JSON ze źródła i analizuje ją do elementu Int32.

GetInt64()

Odczytuje następną wartość tokenu JSON ze źródła i analizuje ją do elementu Int64.

GetSByte()

Analizuje bieżącą wartość tokenu JSON ze źródła jako SByte.

GetSingle()

Odczytuje następną wartość tokenu JSON ze źródła i analizuje ją do elementu Single.

GetString()

Odczytuje następną wartość tokenu JSON ze źródła, nieobejmowanego elementu i transkodowanego jako ciąg.

GetUInt16()

Analizuje bieżącą wartość tokenu JSON ze źródła jako UInt16.

GetUInt32()

Odczytuje następną wartość tokenu JSON ze źródła i analizuje ją do elementu UInt32.

GetUInt64()

Odczytuje następną wartość tokenu JSON ze źródła i analizuje ją do elementu UInt64.

Read()

Odczytuje następny token JSON ze źródła wejściowego.

Skip()

Pomija elementy podrzędne bieżącego tokenu JSON.

TryGetByte(Byte)

Próbuje przeanalizować bieżącą wartość tokenu JSON ze źródła jako Byte wartość i zwraca wartość wskazującą, czy operacja zakończyła się pomyślnie.

TryGetBytesFromBase64(Byte[])

Próbuje przeanalizować bieżącą wartość tokenu JSON ze źródła i zdekoduje ciąg JSON zakodowany w formacie Base64 jako tablicę bajtów i zwraca wartość wskazującą, czy operacja zakończyła się pomyślnie.

TryGetDateTime(DateTime)

Próbuje przeanalizować bieżącą wartość tokenu JSON ze źródła jako DateTime wartość i zwraca wartość wskazującą, czy operacja zakończyła się pomyślnie.

TryGetDateTimeOffset(DateTimeOffset)

Próbuje przeanalizować bieżącą wartość tokenu JSON ze źródła jako DateTimeOffset wartość i zwraca wartość wskazującą, czy operacja zakończyła się pomyślnie.

TryGetDecimal(Decimal)

Próbuje przeanalizować bieżącą wartość tokenu JSON ze źródła jako Decimal wartość i zwraca wartość wskazującą, czy operacja zakończyła się pomyślnie.

TryGetDouble(Double)

Próbuje przeanalizować bieżącą wartość tokenu JSON ze źródła jako Double wartość i zwraca wartość wskazującą, czy operacja zakończyła się pomyślnie.

TryGetGuid(Guid)

Próbuje przeanalizować bieżącą wartość tokenu JSON ze źródła jako Guid wartość i zwraca wartość wskazującą, czy operacja zakończyła się pomyślnie.

TryGetInt16(Int16)

Próbuje przeanalizować bieżącą wartość tokenu JSON ze źródła jako Int16 wartość i zwraca wartość wskazującą, czy operacja zakończyła się pomyślnie.

TryGetInt32(Int32)

Próbuje przeanalizować bieżącą wartość tokenu JSON ze źródła jako Int32 wartość i zwraca wartość wskazującą, czy operacja zakończyła się pomyślnie.

TryGetInt64(Int64)

Próbuje przeanalizować bieżącą wartość tokenu JSON ze źródła jako Int64 wartość i zwraca wartość wskazującą, czy operacja zakończyła się pomyślnie.

TryGetSByte(SByte)

Próbuje przeanalizować bieżącą wartość tokenu JSON ze źródła jako SByte wartość i zwraca wartość wskazującą, czy operacja zakończyła się pomyślnie.

TryGetSingle(Single)

Próbuje przeanalizować bieżącą wartość tokenu JSON ze źródła jako Single wartość i zwraca wartość wskazującą, czy operacja zakończyła się pomyślnie.

TryGetUInt16(UInt16)

Próbuje przeanalizować bieżącą wartość tokenu JSON ze źródła jako UInt16 wartość i zwraca wartość wskazującą, czy operacja zakończyła się pomyślnie.

TryGetUInt32(UInt32)

Próbuje przeanalizować bieżącą wartość tokenu JSON ze źródła jako UInt32 wartość i zwraca wartość wskazującą, czy operacja zakończyła się pomyślnie.

TryGetUInt64(UInt64)

Próbuje przeanalizować bieżącą wartość tokenu JSON ze źródła jako UInt64 wartość i zwraca wartość wskazującą, czy operacja zakończyła się pomyślnie.

TrySkip()

Próbuje pominąć elementy podrzędne bieżącego tokenu JSON.

ValueTextEquals(ReadOnlySpan<Byte>)

Porównuje zakodowany w formacie UTF-8 tekst w zakresie bajtów tylko do odczytu z wartością tokenu JSON niewyobrażanego w źródle i zwraca wartość wskazującą, czy są one zgodne.

ValueTextEquals(ReadOnlySpan<Char>)

Porównuje tekst w zakresie znaków tylko do odczytu z niezaużytą wartością tokenu JSON w źródle i zwraca wartość wskazującą, czy są one zgodne.

ValueTextEquals(String)

Porównuje tekst ciągu z wartością tokenu JSON unescaped w źródle i zwraca wartość wskazującą, czy są one zgodne.

Dotyczy