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 и передайте его читателю.

Дополнительные сведения см. в разделе Use Utf8JsonReader.

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

Имя Описание
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

Возвращает значение, указывающее, были ли предоставлены все данные JSON или есть ли дополнительные данные.

Position

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

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 в источнике и возвращает значение, указывающее, совпадают ли они.

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