JsonSerializer.DeserializeAsync 方法

定义

重载

DeserializeAsync(Stream, Type, JsonSerializerContext, CancellationToken)

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

DeserializeAsync(Stream, JsonTypeInfo, CancellationToken)

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

DeserializeAsync(Stream, Type, JsonSerializerOptions, CancellationToken)

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

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

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

DeserializeAsync<TValue>(Stream, JsonSerializerOptions, CancellationToken)

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

DeserializeAsync(Stream, Type, JsonSerializerContext, CancellationToken)

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 不兼容,或者流中存在剩余数据。

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

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

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

注解

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

适用于

DeserializeAsync(Stream, JsonTypeInfo, CancellationToken)

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 无效。

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

适用于

DeserializeAsync(Stream, Type, JsonSerializerOptions, CancellationToken)

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<TValue>(Stream, JsonTypeInfo<TValue>, CancellationToken)

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 不兼容,或者流中存在剩余数据。

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

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

适用于

DeserializeAsync<TValue>(Stream, JsonSerializerOptions, CancellationToken)

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

utf8Jsonnull

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

注解

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

适用于