Utf8JsonReader Структура

Определение

Предоставляет высокопроизводительный API для однонаправленного доступа только для чтения к тексту JSON в кодировке UTF-8.

public value class Utf8JsonReader
public ref struct Utf8JsonReader
type Utf8JsonReader = struct
Public Structure Utf8JsonReader
Наследование
Utf8JsonReader

Комментарии

Utf8JsonReader обрабатывает текст последовательно без кэширования и по умолчанию строго соответствует JSON RFC.

При Utf8JsonReader обнаружении недопустимого JSON создается JsonException базовая информация об ошибке, например номер строки и позиция байтов в строке.

Так как этот тип является структурой ссылок, она не поддерживает асинхронную функцию напрямую. Однако она обеспечивает поддержку повторного входа для чтения неполных данных и продолжения чтения еще раз данных.

Чтобы задать максимальную глубину при чтении или разрешить пропуск комментариев, создайте экземпляр JsonReaderOptions и передайте его читателю.

Дополнительные сведения см. в статье о написании пользовательских сериализаторов и десериализаторов с помощью System.Text.Json.

Конструкторы

Utf8JsonReader(ReadOnlySequence<Byte>, Boolean, JsonReaderState)

Инициализирует новый экземпляр структуры Utf8JsonReader, который обрабатывает последовательность текста в кодировке UTF-8, доступную только для чтения, и указывает, содержат ли входные данные весь текст для обработки.

Utf8JsonReader(ReadOnlySequence<Byte>, JsonReaderOptions)

Инициализирует новый экземпляр структуры Utf8JsonReader, который обрабатывает последовательность текста в кодировке UTF-8, доступную только для чтения, с использованием указанных параметров.

Utf8JsonReader(ReadOnlySpan<Byte>, Boolean, JsonReaderState)

Инициализирует новый экземпляр структуры Utf8JsonReader, который обрабатывает доступный только для чтения диапазон текста в кодировке UTF-8 и указывает, содержат ли входные данные весь текст для обработки.

Utf8JsonReader(ReadOnlySpan<Byte>, JsonReaderOptions)

Инициализирует новый экземпляр структуры Utf8JsonReader, который обрабатывает диапазон текста в кодировке UTF-8, доступный только для чтения, с использованием указанных параметров.

Свойства

BytesConsumed

Возвращает общее число байтов, уже использованных этим экземпляром Utf8JsonReader.

CurrentDepth

Возвращает глубину текущего токена.

CurrentState

Возвращает текущее состояние Utf8JsonReader для передачи в конструктор Utf8JsonReader с дополнительными данными.

HasValueSequence

Возвращает значение, указывающее, какое свойство Value нужно использовать для получения значения токена.

IsFinalBlock

Возвращает режим данного экземпляра Utf8JsonReader, который указывает, были ли предоставлены все данные JSON или еще поступят дополнительные данные.

Position

Возвращает текущий SequencePosition в рамках предоставленных входных данных ReadOnlySequence<byte> в кодировке UTF-8 или значение по умолчанию SequencePosition, если структура Utf8JsonReader была создана с использованием ReadOnlySpan<byte>.

TokenStartIndex

Возвращает индекс, с которого начинается последний обработанный токен JSON (в заданном входном тексте UTF-8), пропуская все пробелы.

TokenType

Возвращает тип последнего обработанного токена JSON в тексте JSON с кодировкой UTF-8.

ValueIsEscaped

Возвращает значение, указывающее, содержат ли текущие ValueSpan или ValueSequence свойства escape-последовательности на rfC 8259, раздел 7 и поэтому требует отмены размещения перед использованием.

ValueSequence

Получает необработанное значение последнего обработанного токена в виде среза полезных входных данных ReadOnlySequence<байт>, только если токен содержится в нескольких сегментах.

ValueSpan

Получает необработанное значение последнего обработанного токена в виде среза полезных входных данных ReadOnlySpan<байт>, если токен помещается в один сегмент или если модуль чтения был создан с использованием полезных данных JSON, содержащихся в ReadOnlySpan<байт>.

Методы

CopyString(Span<Byte>)

Копирует текущее значение токена JSON из источника, который не содержится в виде строки UTF-8 в целевой буфер.

CopyString(Span<Char>)

Копирует текущее значение токена JSON из исходного, незапечатаемого и перекодированного в виде буфера символов UTF-16.

GetBoolean()

Считывает следующее значение токена JSON из источника в виде Boolean.

GetByte()

Анализирует текущее значение токена JSON из источника в виде Byte.

GetBytesFromBase64()

Анализирует текущее значение токена JSON из источника и декодирует строку JSON в кодировке Base64 в виде массива байтов.

GetComment()

Анализирует текущее значение токена JSON из источника как комментарий, перекодируя его как String.

GetDateTime()

Считывает следующее значение токена JSON из источника и преобразует его в DateTime.

GetDateTimeOffset()

Считывает следующее значение токена JSON из источника и преобразует его в DateTimeOffset.

GetDecimal()

Считывает следующее значение токена JSON из источника и преобразует его в Decimal.

GetDouble()

Считывает следующее значение токена JSON из источника и преобразует его в Double.

GetGuid()

Считывает следующее значение токена JSON из источника и преобразует его в Guid.

GetInt16()

Анализирует текущее значение токена JSON из источника в виде Int16.

GetInt32()

Считывает следующее значение токена JSON из источника и преобразует его в Int32.

GetInt64()

Считывает следующее значение токена JSON из источника и преобразует его в Int64.

GetSByte()

Анализирует текущее значение токена JSON из источника в виде SByte.

GetSingle()

Считывает следующее значение токена JSON из источника и преобразует его в Single.

GetString()

Считывает следующее значение токена JSON из источника неэкранированным и перекодированным в строку.

GetUInt16()

Анализирует текущее значение токена JSON из источника в виде UInt16.

GetUInt32()

Считывает следующее значение токена JSON из источника и преобразует его в UInt32.

GetUInt64()

Считывает следующее значение токена JSON из источника и преобразует его в UInt64.

Read()

Считывает следующий токен JSON из источника входных данных.

Skip()

Пропускает дочерний узел текущего токена JSON.

TryGetByte(Byte)

Пытается выполнить синтаксический анализ текущего значения токена JSON из источника как Byte и возвращает значение, указывающее, завершилась ли операция.

TryGetBytesFromBase64(Byte[])

Пытается выполнить синтаксический анализ текущего значения токена JSON из источника, декодирует строку JSON в кодировке Base64 в виде массива байтов и возвращает значение, указывающее, завершилась ли операция.

TryGetDateTime(DateTime)

Пытается выполнить синтаксический анализ текущего значения токена JSON из источника как DateTime и возвращает значение, указывающее, завершилась ли операция.

TryGetDateTimeOffset(DateTimeOffset)

Пытается выполнить синтаксический анализ текущего значения токена JSON из источника как DateTimeOffset и возвращает значение, указывающее, завершилась ли операция.

TryGetDecimal(Decimal)

Пытается выполнить синтаксический анализ текущего значения токена JSON из источника как Decimal и возвращает значение, указывающее, завершилась ли операция.

TryGetDouble(Double)

Пытается выполнить синтаксический анализ текущего значения токена JSON из источника как Double и возвращает значение, указывающее, завершилась ли операция.

TryGetGuid(Guid)

Пытается выполнить синтаксический анализ текущего значения токена JSON из источника как Guid и возвращает значение, указывающее, завершилась ли операция.

TryGetInt16(Int16)

Пытается выполнить синтаксический анализ текущего значения токена JSON из источника как Int16 и возвращает значение, указывающее, завершилась ли операция.

TryGetInt32(Int32)

Пытается выполнить синтаксический анализ текущего значения токена JSON из источника как Int32 и возвращает значение, указывающее, завершилась ли операция.

TryGetInt64(Int64)

Пытается выполнить синтаксический анализ текущего значения токена JSON из источника как Int64 и возвращает значение, указывающее, завершилась ли операция.

TryGetSByte(SByte)

Пытается выполнить синтаксический анализ текущего значения токена JSON из источника как SByte и возвращает значение, указывающее, завершилась ли операция.

TryGetSingle(Single)

Пытается выполнить синтаксический анализ текущего значения токена JSON из источника как Single и возвращает значение, указывающее, завершилась ли операция.

TryGetUInt16(UInt16)

Пытается выполнить синтаксический анализ текущего значения токена JSON из источника как UInt16 и возвращает значение, указывающее, завершилась ли операция.

TryGetUInt32(UInt32)

Пытается выполнить синтаксический анализ текущего значения токена JSON из источника как UInt32 и возвращает значение, указывающее, завершилась ли операция.

TryGetUInt64(UInt64)

Пытается выполнить синтаксический анализ текущего значения токена JSON из источника как UInt64 и возвращает значение, указывающее, завершилась ли операция.

TrySkip()

Пытается пропустить дочерние узлы текущего токена JSON.

ValueTextEquals(ReadOnlySpan<Byte>)

Сравнивает текст в кодировке UTF-8 в диапазоне байтов только для чтения с неэкранированным значением токена JSON в источнике и возвращает значение, указывающее, совпадают ли они.

ValueTextEquals(ReadOnlySpan<Char>)

Сравнивает текст в диапазоне символов только для чтения с неэкранированным значением токена JSON в источнике и возвращает значение, указывающее, совпадают ли они.

ValueTextEquals(String)

Сравнивает текст строки с неэкранированным значением токена JSON в источнике и возвращает значение, указывающее, совпадают ли они.

Применяется к