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