JsonSerializer.DeserializeAsync 方法

定义

重载

DeserializeAsync(Stream, JsonTypeInfo, CancellationToken)

将表示单个 JSON 值的 UTF-8 编码文本读入由 jsonTypeInfo指定的实例。 流将读取到完成。

DeserializeAsync(Stream, Type, JsonSerializerOptions, CancellationToken)

将表示单个 JSON 值的 UTF-8 编码文本异步读取到指定类型的实例中。 流将读取到完成。

DeserializeAsync(Stream, Type, JsonSerializerContext, CancellationToken)

将表示单个 JSON 值的 UTF-8 编码文本读入 returnType。 流将读取到完成。

DeserializeAsync<TValue>(Stream, JsonTypeInfo<TValue>, CancellationToken)

将表示单个 JSON 值的 UTF-8 编码文本读入 TValue。 流将读取到完成。

DeserializeAsync<TValue>(Stream, JsonSerializerOptions, CancellationToken)

将表示单个 JSON 值的 UTF-8 编码文本异步读取为泛型类型参数指定的类型的实例。 流将读取到完成。

DeserializeAsync(Stream, JsonTypeInfo, CancellationToken)

Source:
JsonSerializer.Read.Stream.cs
Source:
JsonSerializer.Read.Stream.cs
Source:
JsonSerializer.Read.Stream.cs
Source:
JsonSerializer.Read.Stream.cs

将表示单个 JSON 值的 UTF-8 编码文本读入由 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

返回

JSON 值的 jsonTypeInfo 表示形式。

例外

utf8JsonjsonTypeInfonull

JSON 无效,或者在 Stream 中存在剩余数据时。

取消令牌已取消。 此异常存储在返回的任务中。

适用于

DeserializeAsync(Stream, Type, JsonSerializerOptions, CancellationToken)

Source:
JsonSerializer.Read.Stream.cs
Source:
JsonSerializer.Read.Stream.cs
Source:
JsonSerializer.Read.Stream.cs
Source:
JsonSerializer.Read.Stream.cs
Source:
JsonSerializer.Read.Stream.cs

将表示单个 JSON 值的 UTF-8 编码文本异步读取到指定类型的实例中。 流将读取到完成。

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);
static member DeserializeAsync : System.IO.Stream * Type * System.Text.Json.JsonSerializerOptions * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<obj>
Public Shared Function DeserializeAsync (utf8Json As Stream, returnType As Type, Optional options As JsonSerializerOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Object)
Public 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

可用于取消读取操作的取消令牌。

返回

JSON 值的 returnType 表示形式。

例外

utf8JsonreturnTypenull

JSON 无效。

-或-

TValue 与 JSON 不兼容。

-或-

流中有剩余的数据。

returnType 或其可序列化成员没有兼容的 JsonConverter

取消令牌已取消。 此异常存储在返回的任务中。

注解

有关详细信息,请参阅 如何序列化和反序列化 JSON

此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用异常(如 ArgumentException)仍同步引发。 有关存储的异常,请参阅 Deserialize(Stream, Type, JsonSerializerOptions)引发的异常。

适用于

DeserializeAsync(Stream, Type, JsonSerializerContext, CancellationToken)

Source:
JsonSerializer.Read.Stream.cs
Source:
JsonSerializer.Read.Stream.cs
Source:
JsonSerializer.Read.Stream.cs
Source:
JsonSerializer.Read.Stream.cs
Source:
JsonSerializer.Read.Stream.cs

将表示单个 JSON 值的 UTF-8 编码文本读入 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

返回

JSON 值的 returnType 表示形式。

例外

utf8JsonreturnTypecontextnull

JSON 无效,returnType 与 JSON 不兼容,或者 Stream 中有剩余数据。

returnType 或其可序列化成员没有兼容的 JsonConverter

提供的 context 上的 GetTypeInfo(Type) 方法未返回 returnType的兼容 JsonTypeInfo

取消令牌已取消。 此异常存储在返回的任务中。

注解

此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用异常(如 ArgumentException)仍同步引发。 有关存储的异常,请参阅 Deserialize(Stream, Type, JsonSerializerContext)引发的异常。

适用于

DeserializeAsync<TValue>(Stream, JsonTypeInfo<TValue>, CancellationToken)

Source:
JsonSerializer.Read.Stream.cs
Source:
JsonSerializer.Read.Stream.cs
Source:
JsonSerializer.Read.Stream.cs
Source:
JsonSerializer.Read.Stream.cs
Source:
JsonSerializer.Read.Stream.cs

将表示单个 JSON 值的 UTF-8 编码文本读入 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

返回

ValueTask<TValue>

JSON 值的 TValue 表示形式。

例外

utf8JsonjsonTypeInfonull

JSON 无效,TValue 与 JSON 不兼容,或者 Stream 中有剩余数据。

TValue 或其可序列化成员没有兼容的 JsonConverter

取消令牌已取消。 此异常存储在返回的任务中。

适用于

DeserializeAsync<TValue>(Stream, JsonSerializerOptions, CancellationToken)

Source:
JsonSerializer.Read.Stream.cs
Source:
JsonSerializer.Read.Stream.cs
Source:
JsonSerializer.Read.Stream.cs
Source:
JsonSerializer.Read.Stream.cs
Source:
JsonSerializer.Read.Stream.cs

将表示单个 JSON 值的 UTF-8 编码文本异步读取为泛型类型参数指定的类型的实例。 流将读取到完成。

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);
static member DeserializeAsync : System.IO.Stream * System.Text.Json.JsonSerializerOptions * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'Value>
Public Shared Function DeserializeAsync(Of TValue) (utf8Json As Stream, Optional options As JsonSerializerOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of TValue)
Public 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

可用于取消读取操作的令牌。

返回

ValueTask<TValue>

JSON 值的 TValue 表示形式。

例外

JSON 无效。

-或-

TValue 与 JSON 不兼容。

-或-

流中有剩余的数据。

TValue 或其可序列化成员没有兼容的 JsonConverter

utf8Json null

取消令牌已取消。 此异常存储在返回的任务中。

注解

有关详细信息,请参阅 如何序列化和反序列化 JSON

适用于