JsonSerializer.DeserializeAsync 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
DeserializeAsync(Stream, Type, JsonSerializerContext, CancellationToken) |
将表示单个 JSON 值的 UTF-8 编码文本读入 |
DeserializeAsync(Stream, JsonTypeInfo, CancellationToken) |
将表示单个 JSON 值的 UTF-8 编码文本读入由 指定的实例中 |
DeserializeAsync(Stream, Type, JsonSerializerOptions, CancellationToken) |
将表示单个 JSON 值的 UTF-8 编码文本异步读取到指定类型的实例中。 流会被完整读取。 |
DeserializeAsync<TValue>(Stream, JsonTypeInfo<TValue>, CancellationToken) |
将表示单个 JSON 值的 UTF-8 编码文本读入 |
DeserializeAsync<TValue>(Stream, JsonSerializerOptions, CancellationToken) |
将表示单个 JSON 值的 UTF-8 编码文本异步读取到泛型类型参数指定的类型的实例中。 流会被完整读取。 |
DeserializeAsync(Stream, Type, JsonSerializerContext, CancellationToken)
将表示单个 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
表示。
例外
utf8Json
、returnType
或 context
为 null
。
JSON 无效, returnType
与 JSON 不兼容,或者流中存在剩余数据。
returnType
或其可序列化成员没有兼容的 JsonConverter。
GetTypeInfo(Type)提供的 context
上的 方法未返回与 returnType
兼容的 JsonTypeInfo 。
取消令牌已取消。 此异常存储在返回的任务中。
注解
此方法将存储在任务中,它返回该方法的同步对应项可能引发的所有非使用异常。 如果异常存储在返回的任务中,则在等待任务时将引发该异常。 使用异常(如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅 引发的 Deserialize(Stream, Type, JsonSerializerContext)异常。
适用于
DeserializeAsync(Stream, JsonTypeInfo, CancellationToken)
将表示单个 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
表示。
例外
utf8Json
或 jsonTypeInfo
为 null
。
当流中存在剩余数据时,JSON 无效。
取消令牌已取消。 此异常存储在返回的任务中。
适用于
DeserializeAsync(Stream, Type, JsonSerializerOptions, CancellationToken)
将表示单个 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
表示。
例外
utf8Json
或 returnType
为 null
。
returnType
或其可序列化成员没有兼容的 JsonConverter。
取消令牌已取消。 此异常存储在返回的任务中。
注解
有关详细信息,请参阅 如何序列化和反序列化 JSON。
此方法将存储在任务中,它返回该方法的同步对应项可能引发的所有非使用异常。 如果异常存储在返回的任务中,则在等待任务时将引发该异常。 使用异常(如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅 引发的 Deserialize(Stream, Type, JsonSerializerOptions)异常。
适用于
DeserializeAsync<TValue>(Stream, JsonTypeInfo<TValue>, CancellationToken)
将表示单个 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 取消读取操作的 。
返回
JSON 值的 TValue
表示。
例外
utf8Json
或 jsonTypeInfo
为 null
。
JSON 无效、 TValue
与 JSON 不兼容,或者流中存在剩余数据。
TValue
或其可序列化成员没有兼容的 JsonConverter。
取消令牌已取消。 此异常存储在返回的任务中。
适用于
DeserializeAsync<TValue>(Stream, JsonSerializerOptions, CancellationToken)
将表示单个 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
可能用于取消读取操作的标记。
返回
JSON 值的 TValue
表示。
例外
TValue
或其可序列化成员没有兼容的 JsonConverter。
utf8Json
为 null
。
取消令牌已取消。 此异常存储在返回的任务中。
注解
有关详细信息,请参阅 如何序列化和反序列化 JSON。
适用于
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈