Utf8JsonReader Структура

Определение

Предоставляет высокопроизводительный API для однонаправленного доступа только для чтения к тексту JSON в кодировке UTF-8.Provides a high-performance API for forward-only, read-only access to UTF-8 encoded JSON text.

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

Комментарии

Utf8JsonReaderобрабатывает текст последовательно без кэширования, и по умолчанию строго придерживается формата JSON RFC.Utf8JsonReader processes the text sequentially with no caching and by default adheres strictly to the JSON RFC.

При Utf8JsonReader обнаружении недопустимого формата JSON он JsonException создает исключение со сведениями об основной ошибке, такими как номер строки и расположение байта в строке.When Utf8JsonReader encounters invalid JSON, it throws a JsonException with basic error information like line number and byte position on the line.

Так как этот тип является структурой ссылок, он не поддерживает асинхронность напрямую.Since this type is a ref struct, it doesn't directly support async. Однако он обеспечивает поддержку повторного входа для чтения незавершенных данных и продолжения чтения после представления большего количества данных.However, it does provide support for reentrancy to read incomplete data and to continue reading once more data is presented.

Чтобы задать максимальную глубину при чтении или разрешении пропущенных комментариев, создайте экземпляр JsonReaderOptions и передайте его модулю чтения.To be able to set max depth while reading OR allow skipping comments, create an instance of JsonReaderOptions and pass it to the reader.

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

Utf8JsonReader(ReadOnlySequence<Byte>, Boolean, JsonReaderState)

Инициализирует новый экземпляр структуры Utf8JsonReader, который обрабатывает последовательность текста в кодировке UTF-8, доступную только для чтения, и указывает, содержат ли входные данные весь текст для обработки.Initializes a new instance of the Utf8JsonReader structure that processes a read-only sequence of UTF-8 encoded text and indicates whether the input contains all the text to process.

Utf8JsonReader(ReadOnlySequence<Byte>, JsonReaderOptions)

Инициализирует новый экземпляр структуры Utf8JsonReader, который обрабатывает последовательность текста в кодировке UTF-8, доступную только для чтения, с использованием указанных параметров.Initializes a new instance of the Utf8JsonReader structure that processes a read-only sequence of UTF-8 encoded text using the specified options.

Utf8JsonReader(ReadOnlySpan<Byte>, Boolean, JsonReaderState)

Инициализирует новый экземпляр структуры Utf8JsonReader, который обрабатывает доступный только для чтения диапазон текста в кодировке UTF-8 и указывает, содержат ли входные данные весь текст для обработки.Initializes a new instance of the Utf8JsonReader structure that processes a read-only span of UTF-8 encoded text and indicates whether the input contains all the text to process.

Utf8JsonReader(ReadOnlySpan<Byte>, JsonReaderOptions)

Инициализирует новый экземпляр структуры Utf8JsonReader, который обрабатывает диапазон текста в кодировке UTF-8, доступный только для чтения, с использованием указанных параметров.Initializes a new instance of the Utf8JsonReader structure that processes a read-only span of UTF-8 encoded text using the specified options.

Свойства

BytesConsumed

Возвращает общее число байтов, уже использованных этим экземпляром Utf8JsonReader.Gets the total number of bytes consumed so far by this instance of the Utf8JsonReader.

CurrentDepth

Возвращает глубину текущего токена.Gets the depth of the current token.

CurrentState

Возвращает текущее состояние Utf8JsonReader для передачи в конструктор Utf8JsonReader с дополнительными данными.Gets the current Utf8JsonReader state to pass to a Utf8JsonReader constructor with more data.

HasValueSequence

Возвращает значение, указывающее, какое свойство Value нужно использовать для получения значения токена.Gets a value that indicates which Value property to use to get the token value.

IsFinalBlock

Возвращает режим данного экземпляра Utf8JsonReader, который указывает, были ли предоставлены все данные JSON или еще поступят дополнительные данные.Gets the mode of this instance of the Utf8JsonReader which indicates whether all the JSON data was provided or there is more data to come.

Position

Возвращает текущий SequencePosition в рамках предоставленных входных данных ReadOnlySequence<byte> в кодировке UTF-8 или значение по умолчанию SequencePosition, если структура Utf8JsonReader была создана с использованием ReadOnlySpan<byte>.Gets the current SequencePosition within the provided UTF-8 encoded input ReadOnlySequence<byte> or a default SequencePosition if the Utf8JsonReader struct was constructed with a ReadOnlySpan<byte>.

TokenStartIndex

Возвращает индекс, с которого начинается последний обработанный токен JSON (в заданном входном тексте UTF-8), пропуская все пробелы.Gets the index that the last processed JSON token starts at (within the given UTF-8 encoded input text), skipping any white space.

TokenType

Возвращает тип последнего обработанного токена JSON в тексте JSON с кодировкой UTF-8.Gets the type of the last processed JSON token in the UTF-8 encoded JSON text.

ValueSequence

Получает необработанное значение последнего обработанного токена в виде среза полезных входных данных ReadOnlySequence<байт>, только если токен содержится в нескольких сегментах.Gets the raw value of the last processed token as a ReadOnlySequence<byte> slice of the input payload, only if the token is contained within multiple segments.

ValueSpan

Получает необработанное значение последнего обработанного токена в виде среза полезных входных данных ReadOnlySpan<байт>, если токен помещается в один сегмент или если модуль чтения был создан с использованием полезных данных JSON, содержащихся в ReadOnlySpan<байт>.Gets the raw value of the last processed token as a ReadOnlySpan<byte> slice of the input payload, if the token fits in a single segment or if the reader was constructed with a JSON payload contained in a ReadOnlySpan<byte>.

Методы

GetBoolean()

Считывает следующее значение токена JSON из источника в виде Boolean.Reads the next JSON token value from the source as a Boolean.

GetByte()

Анализирует текущее значение токена JSON из источника в виде Byte.Parses the current JSON token value from the source as a Byte.

GetBytesFromBase64()

Анализирует текущее значение токена JSON из источника и декодирует строку JSON в кодировке Base64 в виде массива байтов.Parses the current JSON token value from the source and decodes the Base64 encoded JSON string as a byte array.

GetComment()

Анализирует текущее значение токена JSON из источника как комментарий, перекодируя его как String.Parses the current JSON token value from the source as a comment, transcoded it as a String.

GetDateTime()

Считывает следующее значение токена JSON из источника и преобразует его в DateTime.Reads the next JSON token value from the source and parses it to a DateTime.

GetDateTimeOffset()

Считывает следующее значение токена JSON из источника и преобразует его в DateTimeOffset.Reads the next JSON token value from the source and parses it to a DateTimeOffset.

GetDecimal()

Считывает следующее значение токена JSON из источника и преобразует его в Decimal.Reads the next JSON token value from the source and parses it to a Decimal.

GetDouble()

Считывает следующее значение токена JSON из источника и преобразует его в Double.Reads the next JSON token value from the source and parses it to a Double.

GetGuid()

Считывает следующее значение токена JSON из источника и преобразует его в Guid.Reads the next JSON token value from the source and parses it to a Guid.

GetInt16()

Анализирует текущее значение токена JSON из источника в виде Int16.Parses the current JSON token value from the source as a Int16.

GetInt32()

Считывает следующее значение токена JSON из источника и преобразует его в Int32.Reads the next JSON token value from the source and parses it to an Int32.

GetInt64()

Считывает следующее значение токена JSON из источника и преобразует его в Int64.Reads the next JSON token value from the source and parses it to an Int64.

GetSByte()

Анализирует текущее значение токена JSON из источника в виде SByte.Parses the current JSON token value from the source as an SByte.

GetSingle()

Считывает следующее значение токена JSON из источника и преобразует его в Single.Reads the next JSON token value from the source and parses it to a Single.

GetString()

Считывает следующее значение токена JSON из источника неэкранированным и перекодированным в строку.Reads the next JSON token value from the source, unescaped, and transcoded as a string.

GetUInt16()

Анализирует текущее значение токена JSON из источника в виде UInt16.Parses the current JSON token value from the source as a UInt16.

GetUInt32()

Считывает следующее значение токена JSON из источника и преобразует его в UInt32.Reads the next JSON token value from the source and parses it to a UInt32.

GetUInt64()

Считывает следующее значение токена JSON из источника и преобразует его в UInt64.Reads the next JSON token value from the source and parses it to a UInt64.

Read()

Считывает следующий токен JSON из источника входных данных.Reads the next JSON token from the input source.

Skip()

Пропускает дочерний узел текущего токена JSON.Skips the children of the current JSON token.

TryGetByte(Byte)

Пытается выполнить синтаксический анализ текущего значения токена JSON из источника как Byte и возвращает значение, указывающее, завершилась ли операция.Tries to parse the current JSON token value from the source as a Byte and returns a value that indicates whether the operation succeeded.

TryGetBytesFromBase64(Byte[])

Пытается выполнить синтаксический анализ текущего значения токена JSON из источника, декодирует строку JSON в кодировке Base64 в виде массива байтов и возвращает значение, указывающее, завершилась ли операция.Tries to parse the current JSON token value from the source and decodes the Base64 encoded JSON string as a byte array and returns a value that indicates whether the operation succeeded.

TryGetDateTime(DateTime)

Пытается выполнить синтаксический анализ текущего значения токена JSON из источника как DateTime и возвращает значение, указывающее, завершилась ли операция.Tries to parse the current JSON token value from the source as a DateTime and returns a value that indicates whether the operation succeeded.

TryGetDateTimeOffset(DateTimeOffset)

Пытается выполнить синтаксический анализ текущего значения токена JSON из источника как DateTimeOffset и возвращает значение, указывающее, завершилась ли операция.Tries to parse the current JSON token value from the source as a DateTimeOffset and returns a value that indicates whether the operation succeeded.

TryGetDecimal(Decimal)

Пытается выполнить синтаксический анализ текущего значения токена JSON из источника как Decimal и возвращает значение, указывающее, завершилась ли операция.Tries to parse the current JSON token value from the source as a Decimal and returns a value that indicates whether the operation succeeded.

TryGetDouble(Double)

Пытается выполнить синтаксический анализ текущего значения токена JSON из источника как Double и возвращает значение, указывающее, завершилась ли операция.Tries to parse the current JSON token value from the source as a Double and returns a value that indicates whether the operation succeeded.

TryGetGuid(Guid)

Пытается выполнить синтаксический анализ текущего значения токена JSON из источника как Guid и возвращает значение, указывающее, завершилась ли операция.Tries to parse the current JSON token value from the source as a Guid and returns a value that indicates whether the operation succeeded.

TryGetInt16(Int16)

Пытается выполнить синтаксический анализ текущего значения токена JSON из источника как Int16 и возвращает значение, указывающее, завершилась ли операция.Tries to parse the current JSON token value from the source as an Int16 and returns a value that indicates whether the operation succeeded.

TryGetInt32(Int32)

Пытается выполнить синтаксический анализ текущего значения токена JSON из источника как Int32 и возвращает значение, указывающее, завершилась ли операция.Tries to parse the current JSON token value from the source as an Int32 and returns a value that indicates whether the operation succeeded.

TryGetInt64(Int64)

Пытается выполнить синтаксический анализ текущего значения токена JSON из источника как Int64 и возвращает значение, указывающее, завершилась ли операция.Tries to parse the current JSON token value from the source as an Int64 and returns a value that indicates whether the operation succeeded.

TryGetSByte(SByte)

Пытается выполнить синтаксический анализ текущего значения токена JSON из источника как SByte и возвращает значение, указывающее, завершилась ли операция.Tries to parse the current JSON token value from the source as an SByte and returns a value that indicates whether the operation succeeded.

TryGetSingle(Single)

Пытается выполнить синтаксический анализ текущего значения токена JSON из источника как Single и возвращает значение, указывающее, завершилась ли операция.Tries to parse the current JSON token value from the source as a Single and returns a value that indicates whether the operation succeeded.

TryGetUInt16(UInt16)

Пытается выполнить синтаксический анализ текущего значения токена JSON из источника как UInt16 и возвращает значение, указывающее, завершилась ли операция.Tries to parse the current JSON token value from the source as a UInt16 and returns a value that indicates whether the operation succeeded.

TryGetUInt32(UInt32)

Пытается выполнить синтаксический анализ текущего значения токена JSON из источника как UInt32 и возвращает значение, указывающее, завершилась ли операция.Tries to parse the current JSON token value from the source as a UInt32 and returns a value that indicates whether the operation succeeded.

TryGetUInt64(UInt64)

Пытается выполнить синтаксический анализ текущего значения токена JSON из источника как UInt64 и возвращает значение, указывающее, завершилась ли операция.Tries to parse the current JSON token value from the source as a UInt64 and returns a value that indicates whether the operation succeeded.

TrySkip()

Пытается пропустить дочерние узлы текущего токена JSON.Tries to skip the children of the current JSON token.

ValueTextEquals(ReadOnlySpan<Byte>)

Сравнивает текст в кодировке UTF-8 в диапазоне байтов только для чтения с неэкранированным значением токена JSON в источнике и возвращает значение, указывающее, совпадают ли они.Compares the UTF-8 encoded text in a read-only byte span to the unescaped JSON token value in the source and returns a value that indicates whether they match.

ValueTextEquals(ReadOnlySpan<Char>)

Сравнивает текст в диапазоне символов только для чтения с неэкранированным значением токена JSON в источнике и возвращает значение, указывающее, совпадают ли они.Compares the text in a read-only character span to the unescaped JSON token value in the source and returns a value that indicates whether they match.

ValueTextEquals(String)

Сравнивает текст строки с неэкранированным значением токена JSON в источнике и возвращает значение, указывающее, совпадают ли они.Compares the string text to the unescaped JSON token value in the source and returns a value that indicates whether they match.

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