JsonSerializer.DeserializeAsync Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
| Имя | Описание |
|---|---|
| DeserializeAsync(Stream, Type, JsonSerializerContext, CancellationToken) |
Считывает закодированный текст UTF-8, представляющий одно значение JSON в объект |
| DeserializeAsync(Stream, Type, JsonSerializerOptions, CancellationToken) |
Асинхронно считывает кодированный текст UTF-8, представляющий одно значение JSON в экземпляр указанного типа. Поток будет считываться до завершения. |
| DeserializeAsync(PipeReader, Type, JsonSerializerContext, CancellationToken) |
Считывает закодированный текст UTF-8, представляющий одно значение JSON в объект PipeReader будет считываться до завершения. |
| DeserializeAsync(Stream, JsonTypeInfo, CancellationToken) |
Считывает закодированный текст UTF-8, представляющий одно значение JSON в экземпляр, указанный в файле |
| DeserializeAsync(PipeReader, JsonTypeInfo, CancellationToken) |
Считывает закодированный текст UTF-8, представляющий одно значение JSON в экземпляр, указанный в файле PipeReader будет считываться до завершения. |
| DeserializeAsync(PipeReader, Type, JsonSerializerOptions, CancellationToken) |
Считывает закодированный текст UTF-8, представляющий одно значение JSON в объект PipeReader будет считываться до завершения. |
| DeserializeAsync<TValue>(PipeReader, JsonSerializerOptions, CancellationToken) |
Считывает закодированный текст UTF-8, представляющий одно значение JSON в объект PipeReader будет считываться до завершения. |
| DeserializeAsync<TValue>(PipeReader, JsonTypeInfo<TValue>, CancellationToken) |
Считывает закодированный текст UTF-8, представляющий одно значение JSON в объект PipeReader будет считываться до завершения. |
| DeserializeAsync<TValue>(Stream, JsonSerializerOptions, CancellationToken) |
Асинхронно считывает кодированный текст UTF-8, представляющий одно значение JSON в экземпляр типа, заданного параметром универсального типа. Поток будет считываться до завершения. |
| DeserializeAsync<TValue>(Stream, JsonTypeInfo<TValue>, CancellationToken) |
Считывает закодированный текст UTF-8, представляющий одно значение JSON в объект |
DeserializeAsync(Stream, Type, JsonSerializerContext, CancellationToken)
- Исходный код:
- JsonSerializer.Read.Stream.cs
- Исходный код:
- JsonSerializer.Read.Stream.cs
- Исходный код:
- JsonSerializer.Read.Stream.cs
- Исходный код:
- JsonSerializer.Read.Stream.cs
- Исходный код:
- JsonSerializer.Read.Stream.cs
- Исходный код:
- JsonSerializer.Read.Stream.cs
- Исходный код:
- JsonSerializer.Read.Stream.cs
Считывает закодированный текст UTF-8, представляющий одно значение JSON в объект returnType.
Поток будет считываться до завершения.
public static System.Threading.Tasks.ValueTask<object?> DeserializeAsync(System.IO.Stream utf8Json, Type returnType, System.Text.Json.Serialization.JsonSerializerContext context, System.Threading.CancellationToken cancellationToken = default);
static member DeserializeAsync : System.IO.Stream * Type * System.Text.Json.Serialization.JsonSerializerContext * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<obj>
Public Function DeserializeAsync (utf8Json As Stream, returnType As Type, context As JsonSerializerContext, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Object)
Параметры
- utf8Json
- Stream
Данные JSON для анализа.
- returnType
- Type
Тип объекта для преобразования и возврата.
- context
- JsonSerializerContext
Поставщик метаданных для сериализуемых типов.
- cancellationToken
- CancellationToken
Можно CancellationToken использовать для отмены операции чтения.
Возвращаемое значение
Представление returnType значения JSON.
Исключения
utf8Json, или returnTypecontext есть null.
Недопустимый код JSON, returnType несовместимый с JSON или оставшиеся данные в потоке.
Нет совместимых JsonConverter элементов returnType или его сериализуемых элементов.
Указанный GetTypeInfo(Type)context метод не вернул совместимый JsonTypeInfo для returnType.
Маркер отмены был отменен. Это исключение хранится в возвращаемой задаче.
Комментарии
Этот метод сохраняет в задаче все исключения без использования, которые может вызывать синхронный аналог метода. Если исключение хранится в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему выбрасываются синхронно. Сведения о сохраненных исключениях см. в исключениях, создаваемых Deserialize(Stream, Type, JsonSerializerContext).
Применяется к
DeserializeAsync(Stream, Type, JsonSerializerOptions, CancellationToken)
- Исходный код:
- JsonSerializer.Read.Stream.cs
- Исходный код:
- JsonSerializer.Read.Stream.cs
- Исходный код:
- JsonSerializer.Read.Stream.cs
- Исходный код:
- JsonSerializer.Read.Stream.cs
- Исходный код:
- JsonSerializer.Read.Stream.cs
- Исходный код:
- JsonSerializer.Read.Stream.cs
- Исходный код:
- JsonSerializer.Read.Stream.cs
Асинхронно считывает кодированный текст UTF-8, представляющий одно значение JSON в экземпляр указанного типа. Поток будет считываться до завершения.
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")]
public static System.Threading.Tasks.ValueTask<object?> DeserializeAsync(System.IO.Stream utf8Json, Type returnType, System.Text.Json.JsonSerializerOptions? options = default, System.Threading.CancellationToken cancellationToken = default);
public static System.Threading.Tasks.ValueTask<object?> DeserializeAsync(System.IO.Stream utf8Json, Type returnType, System.Text.Json.JsonSerializerOptions? options = default, System.Threading.CancellationToken cancellationToken = default);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")]
public static System.Threading.Tasks.ValueTask<object?> DeserializeAsync(System.IO.Stream utf8Json, Type returnType, System.Text.Json.JsonSerializerOptions? options = default, System.Threading.CancellationToken cancellationToken = default);
public static System.Threading.Tasks.ValueTask<object> DeserializeAsync(System.IO.Stream utf8Json, Type returnType, System.Text.Json.JsonSerializerOptions options = default, System.Threading.CancellationToken cancellationToken = default);
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")>]
static member DeserializeAsync : System.IO.Stream * Type * System.Text.Json.JsonSerializerOptions * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<obj>
static member DeserializeAsync : System.IO.Stream * Type * System.Text.Json.JsonSerializerOptions * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<obj>
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")>]
static member DeserializeAsync : System.IO.Stream * Type * System.Text.Json.JsonSerializerOptions * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<obj>
Public Function DeserializeAsync (utf8Json As Stream, returnType As Type, Optional options As JsonSerializerOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Object)
Public Shared Function DeserializeAsync (utf8Json As Stream, returnType As Type, Optional options As JsonSerializerOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Object)
Параметры
- utf8Json
- Stream
Данные JSON для анализа.
- returnType
- Type
Тип объекта для преобразования и возврата.
- options
- JsonSerializerOptions
Параметры управления поведением во время чтения.
- cancellationToken
- CancellationToken
Маркер отмены, который может использоваться для отмены операции чтения.
Возвращаемое значение
Представление returnType значения JSON.
- Атрибуты
Исключения
utf8Json или returnType есть null.
Недопустимый код JSON.
–или–
TValue несовместим с JSON.
–или–
В потоке остаются данные.
Нет совместимых JsonConverter элементов returnType или его сериализуемых элементов.
Маркер отмены был отменен. Это исключение хранится в возвращаемой задаче.
Комментарии
Дополнительные сведения см. в статье "Сериализация и десериализация JSON".
Этот метод сохраняет в задаче все исключения без использования, которые может вызывать синхронный аналог метода. Если исключение хранится в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему выбрасываются синхронно. Сведения о сохраненных исключениях см. в исключениях, создаваемых Deserialize(Stream, Type, JsonSerializerOptions).
Применяется к
DeserializeAsync(PipeReader, Type, JsonSerializerContext, CancellationToken)
- Исходный код:
- JsonSerializer.Read.Pipe.cs
- Исходный код:
- JsonSerializer.Read.Pipe.cs
- Исходный код:
- JsonSerializer.Read.Pipe.cs
Считывает закодированный текст UTF-8, представляющий одно значение JSON в объект returnType.
PipeReader будет считываться до завершения.
public static System.Threading.Tasks.ValueTask<object?> DeserializeAsync(System.IO.Pipelines.PipeReader utf8Json, Type returnType, System.Text.Json.Serialization.JsonSerializerContext context, System.Threading.CancellationToken cancellationToken = default);
static member DeserializeAsync : System.IO.Pipelines.PipeReader * Type * System.Text.Json.Serialization.JsonSerializerContext * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<obj>
Public Function DeserializeAsync (utf8Json As PipeReader, returnType As Type, context As JsonSerializerContext, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Object)
Параметры
- utf8Json
- PipeReader
Данные JSON для анализа.
- returnType
- Type
Тип объекта для преобразования и возврата.
- context
- JsonSerializerContext
Поставщик метаданных для сериализуемых типов.
- cancellationToken
- CancellationToken
Можно CancellationToken использовать для отмены операции чтения.
Возвращаемое значение
Представление returnType значения JSON.
Исключения
utf8Json, или returnTypecontext есть null.
Недопустимый код JSON, returnType несовместимый с JSON или оставшиеся данные в PipeReader.
Нет совместимых JsonConverter элементов returnType или его сериализуемых элементов.
Указанный GetTypeInfo(Type)context метод не вернул совместимый JsonTypeInfo для returnType.
Применяется к
DeserializeAsync(Stream, JsonTypeInfo, CancellationToken)
- Исходный код:
- JsonSerializer.Read.Stream.cs
- Исходный код:
- JsonSerializer.Read.Stream.cs
- Исходный код:
- JsonSerializer.Read.Stream.cs
- Исходный код:
- JsonSerializer.Read.Stream.cs
- Исходный код:
- JsonSerializer.Read.Stream.cs
- Исходный код:
- JsonSerializer.Read.Stream.cs
Считывает закодированный текст UTF-8, представляющий одно значение JSON в экземпляр, указанный в файле jsonTypeInfo.
Поток будет считываться до завершения.
public static System.Threading.Tasks.ValueTask<object?> DeserializeAsync(System.IO.Stream utf8Json, System.Text.Json.Serialization.Metadata.JsonTypeInfo jsonTypeInfo, System.Threading.CancellationToken cancellationToken = default);
static member DeserializeAsync : System.IO.Stream * System.Text.Json.Serialization.Metadata.JsonTypeInfo * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<obj>
Public Function DeserializeAsync (utf8Json As Stream, jsonTypeInfo As JsonTypeInfo, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Object)
Параметры
- utf8Json
- Stream
Данные JSON для анализа.
- jsonTypeInfo
- JsonTypeInfo
Метаданные о преобразуемом типе.
- cancellationToken
- CancellationToken
Можно CancellationToken использовать для отмены операции чтения.
Возвращаемое значение
Представление jsonTypeInfo значения JSON.
Исключения
utf8Json или jsonTypeInfo есть null.
Json недопустим или оставшиеся данные в потоке.
Маркер отмены был отменен. Это исключение хранится в возвращаемой задаче.
Применяется к
DeserializeAsync(PipeReader, JsonTypeInfo, CancellationToken)
- Исходный код:
- JsonSerializer.Read.Pipe.cs
- Исходный код:
- JsonSerializer.Read.Pipe.cs
- Исходный код:
- JsonSerializer.Read.Pipe.cs
Считывает закодированный текст UTF-8, представляющий одно значение JSON в экземпляр, указанный в файле jsonTypeInfo.
PipeReader будет считываться до завершения.
public static System.Threading.Tasks.ValueTask<object?> DeserializeAsync(System.IO.Pipelines.PipeReader utf8Json, System.Text.Json.Serialization.Metadata.JsonTypeInfo jsonTypeInfo, System.Threading.CancellationToken cancellationToken = default);
static member DeserializeAsync : System.IO.Pipelines.PipeReader * System.Text.Json.Serialization.Metadata.JsonTypeInfo * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<obj>
Public Function DeserializeAsync (utf8Json As PipeReader, jsonTypeInfo As JsonTypeInfo, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Object)
Параметры
- utf8Json
- PipeReader
Данные JSON для анализа.
- jsonTypeInfo
- JsonTypeInfo
Метаданные о преобразуемом типе.
- cancellationToken
- CancellationToken
Можно CancellationToken использовать для отмены операции чтения.
Возвращаемое значение
Представление jsonTypeInfo значения JSON.
Исключения
utf8Json или jsonTypeInfo есть null.
Json недопустим или оставшиеся данные в PipeReader.
Применяется к
DeserializeAsync(PipeReader, Type, JsonSerializerOptions, CancellationToken)
- Исходный код:
- JsonSerializer.Read.Pipe.cs
- Исходный код:
- JsonSerializer.Read.Pipe.cs
- Исходный код:
- JsonSerializer.Read.Pipe.cs
Считывает закодированный текст UTF-8, представляющий одно значение JSON в объект returnType.
PipeReader будет считываться до завершения.
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")]
public static System.Threading.Tasks.ValueTask<object?> DeserializeAsync(System.IO.Pipelines.PipeReader utf8Json, Type returnType, System.Text.Json.JsonSerializerOptions? options = default, System.Threading.CancellationToken cancellationToken = default);
public static System.Threading.Tasks.ValueTask<object?> DeserializeAsync(System.IO.Pipelines.PipeReader utf8Json, Type returnType, System.Text.Json.JsonSerializerOptions? options = default, System.Threading.CancellationToken cancellationToken = default);
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")>]
static member DeserializeAsync : System.IO.Pipelines.PipeReader * Type * System.Text.Json.JsonSerializerOptions * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<obj>
static member DeserializeAsync : System.IO.Pipelines.PipeReader * Type * System.Text.Json.JsonSerializerOptions * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<obj>
Public Function DeserializeAsync (utf8Json As PipeReader, returnType As Type, Optional options As JsonSerializerOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Object)
Параметры
- utf8Json
- PipeReader
Данные JSON для анализа.
- returnType
- Type
Тип объекта для преобразования и возврата.
- options
- JsonSerializerOptions
Параметры управления поведением во время чтения.
- cancellationToken
- CancellationToken
Можно CancellationToken использовать для отмены операции чтения.
Возвращаемое значение
Представление returnType значения JSON.
- Атрибуты
Исключения
utf8Json или returnType есть null.
Недопустимый код JSON, returnType несовместимый с JSON или оставшиеся данные в PipeReader.
Нет совместимых JsonConverter элементов returnType или его сериализуемых элементов.
Применяется к
DeserializeAsync<TValue>(PipeReader, JsonSerializerOptions, CancellationToken)
- Исходный код:
- JsonSerializer.Read.Pipe.cs
- Исходный код:
- JsonSerializer.Read.Pipe.cs
- Исходный код:
- JsonSerializer.Read.Pipe.cs
Считывает закодированный текст UTF-8, представляющий одно значение JSON в объект TValue.
PipeReader будет считываться до завершения.
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")]
public static System.Threading.Tasks.ValueTask<TValue?> DeserializeAsync<TValue>(System.IO.Pipelines.PipeReader utf8Json, System.Text.Json.JsonSerializerOptions? options = default, System.Threading.CancellationToken cancellationToken = default);
public static System.Threading.Tasks.ValueTask<TValue?> DeserializeAsync<TValue>(System.IO.Pipelines.PipeReader utf8Json, System.Text.Json.JsonSerializerOptions? options = default, System.Threading.CancellationToken cancellationToken = default);
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")>]
static member DeserializeAsync : System.IO.Pipelines.PipeReader * System.Text.Json.JsonSerializerOptions * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'Value>
static member DeserializeAsync : System.IO.Pipelines.PipeReader * System.Text.Json.JsonSerializerOptions * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'Value>
Public Function DeserializeAsync(Of TValue) (utf8Json As PipeReader, Optional options As JsonSerializerOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of TValue)
Параметры типа
- TValue
Тип для десериализации значения JSON.
Параметры
- utf8Json
- PipeReader
Данные JSON для анализа.
- options
- JsonSerializerOptions
Параметры управления поведением во время чтения.
- cancellationToken
- CancellationToken
Можно CancellationToken использовать для отмены операции чтения.
Возвращаемое значение
Представление TValue значения JSON.
- Атрибуты
Исключения
utf8Json равно null.
Недопустимый код JSON, TValue несовместим с JSON или оставшиеся данные в PipeReader.
Нет совместимых JsonConverter элементов TValue или его сериализуемых элементов.
Применяется к
DeserializeAsync<TValue>(PipeReader, JsonTypeInfo<TValue>, CancellationToken)
- Исходный код:
- JsonSerializer.Read.Pipe.cs
- Исходный код:
- JsonSerializer.Read.Pipe.cs
- Исходный код:
- JsonSerializer.Read.Pipe.cs
Считывает закодированный текст UTF-8, представляющий одно значение JSON в объект TValue.
PipeReader будет считываться до завершения.
public static System.Threading.Tasks.ValueTask<TValue?> DeserializeAsync<TValue>(System.IO.Pipelines.PipeReader utf8Json, System.Text.Json.Serialization.Metadata.JsonTypeInfo<TValue> jsonTypeInfo, System.Threading.CancellationToken cancellationToken = default);
static member DeserializeAsync : System.IO.Pipelines.PipeReader * System.Text.Json.Serialization.Metadata.JsonTypeInfo<'Value> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'Value>
Public Function DeserializeAsync(Of TValue) (utf8Json As PipeReader, jsonTypeInfo As JsonTypeInfo(Of TValue), Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of TValue)
Параметры типа
- TValue
Тип для десериализации значения JSON.
Параметры
- utf8Json
- PipeReader
Данные JSON для анализа.
- jsonTypeInfo
- JsonTypeInfo<TValue>
Метаданные о преобразуемом типе.
- cancellationToken
- CancellationToken
Можно CancellationToken использовать для отмены операции чтения.
Возвращаемое значение
Представление TValue значения JSON.
Исключения
utf8Json или jsonTypeInfo есть null.
Недопустимый код JSON, TValue несовместим с JSON или оставшиеся данные в PipeReader.
Применяется к
DeserializeAsync<TValue>(Stream, JsonSerializerOptions, CancellationToken)
- Исходный код:
- JsonSerializer.Read.Stream.cs
- Исходный код:
- JsonSerializer.Read.Stream.cs
- Исходный код:
- JsonSerializer.Read.Stream.cs
- Исходный код:
- JsonSerializer.Read.Stream.cs
- Исходный код:
- JsonSerializer.Read.Stream.cs
- Исходный код:
- JsonSerializer.Read.Stream.cs
- Исходный код:
- JsonSerializer.Read.Stream.cs
Асинхронно считывает кодированный текст UTF-8, представляющий одно значение JSON в экземпляр типа, заданного параметром универсального типа. Поток будет считываться до завершения.
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")]
public static System.Threading.Tasks.ValueTask<TValue?> DeserializeAsync<TValue>(System.IO.Stream utf8Json, System.Text.Json.JsonSerializerOptions? options = default, System.Threading.CancellationToken cancellationToken = default);
public static System.Threading.Tasks.ValueTask<TValue?> DeserializeAsync<TValue>(System.IO.Stream utf8Json, System.Text.Json.JsonSerializerOptions? options = default, System.Threading.CancellationToken cancellationToken = default);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")]
public static System.Threading.Tasks.ValueTask<TValue?> DeserializeAsync<TValue>(System.IO.Stream utf8Json, System.Text.Json.JsonSerializerOptions? options = default, System.Threading.CancellationToken cancellationToken = default);
public static System.Threading.Tasks.ValueTask<TValue> DeserializeAsync<TValue>(System.IO.Stream utf8Json, System.Text.Json.JsonSerializerOptions options = default, System.Threading.CancellationToken cancellationToken = default);
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")>]
static member DeserializeAsync : System.IO.Stream * System.Text.Json.JsonSerializerOptions * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'Value>
static member DeserializeAsync : System.IO.Stream * System.Text.Json.JsonSerializerOptions * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'Value>
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")>]
static member DeserializeAsync : System.IO.Stream * System.Text.Json.JsonSerializerOptions * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'Value>
Public Function DeserializeAsync(Of TValue) (utf8Json As Stream, Optional options As JsonSerializerOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of TValue)
Public Shared Function DeserializeAsync(Of TValue) (utf8Json As Stream, Optional options As JsonSerializerOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of TValue)
Параметры типа
- TValue
Целевой тип значения JSON.
Параметры
- utf8Json
- Stream
Данные JSON для анализа.
- options
- JsonSerializerOptions
Параметры управления поведением во время чтения.
- cancellationToken
- CancellationToken
Маркер, который может использоваться для отмены операции чтения.
Возвращаемое значение
Представление TValue значения JSON.
- Атрибуты
Исключения
Недопустимый код JSON.
–или–
TValue несовместим с JSON.
–или–
В потоке остаются данные.
Нет совместимых JsonConverter элементов TValue или его сериализуемых элементов.
utf8Jsonis null.
Маркер отмены был отменен. Это исключение хранится в возвращаемой задаче.
Комментарии
Дополнительные сведения см. в статье "Сериализация и десериализация JSON".
Применяется к
DeserializeAsync<TValue>(Stream, JsonTypeInfo<TValue>, CancellationToken)
- Исходный код:
- JsonSerializer.Read.Stream.cs
- Исходный код:
- JsonSerializer.Read.Stream.cs
- Исходный код:
- JsonSerializer.Read.Stream.cs
- Исходный код:
- JsonSerializer.Read.Stream.cs
- Исходный код:
- JsonSerializer.Read.Stream.cs
- Исходный код:
- JsonSerializer.Read.Stream.cs
- Исходный код:
- JsonSerializer.Read.Stream.cs
Считывает закодированный текст UTF-8, представляющий одно значение JSON в объект TValue.
Поток будет считываться до завершения.
public static System.Threading.Tasks.ValueTask<TValue?> DeserializeAsync<TValue>(System.IO.Stream utf8Json, System.Text.Json.Serialization.Metadata.JsonTypeInfo<TValue> jsonTypeInfo, System.Threading.CancellationToken cancellationToken = default);
static member DeserializeAsync : System.IO.Stream * System.Text.Json.Serialization.Metadata.JsonTypeInfo<'Value> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'Value>
Public Function DeserializeAsync(Of TValue) (utf8Json As Stream, jsonTypeInfo As JsonTypeInfo(Of TValue), Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of TValue)
Параметры типа
- TValue
Тип для десериализации значения JSON.
Параметры
- utf8Json
- Stream
Данные JSON для анализа.
- jsonTypeInfo
- JsonTypeInfo<TValue>
Метаданные о преобразуемом типе.
- cancellationToken
- CancellationToken
Можно CancellationToken использовать для отмены операции чтения.
Возвращаемое значение
Представление TValue значения JSON.
Исключения
utf8Json или jsonTypeInfo есть null.
Недопустимый код JSON, TValue несовместим с JSON или оставшиеся данные в потоке.
Нет совместимых JsonConverter элементов TValue или его сериализуемых элементов.
Маркер отмены был отменен. Это исключение хранится в возвращаемой задаче.