Utf8JsonReader Структура
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет высокопроизводительный API для однонаправленного доступа только для чтения к тексту JSON в кодировке UTF-8.
public value class Utf8JsonReader
public ref struct Utf8JsonReader
type Utf8JsonReader = struct
Public Structure 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 |
Возвращает значение, указывающее, какое свойство |
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 в источнике и возвращает значение, указывающее, совпадают ли они. |