JsonSerializer.DeserializeAsync 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
DeserializeAsync(Stream, JsonTypeInfo, CancellationToken) |
将表示单个 JSON 值的 UTF-8 编码文本读入由 |
DeserializeAsync(Stream, Type, JsonSerializerOptions, CancellationToken) |
将表示单个 JSON 值的 UTF-8 编码文本异步读取到指定类型的实例中。 流将读取到完成。 |
DeserializeAsync(Stream, Type, JsonSerializerContext, CancellationToken) |
将表示单个 JSON 值的 UTF-8 编码文本读入 |
DeserializeAsync<TValue>(Stream, JsonTypeInfo<TValue>, CancellationToken) |
将表示单个 JSON 值的 UTF-8 编码文本读入 |
DeserializeAsync<TValue>(Stream, JsonSerializerOptions, CancellationToken) |
将表示单个 JSON 值的 UTF-8 编码文本异步读取为泛型类型参数指定的类型的实例。 流将读取到完成。 |
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 无效,或者在 Stream 中存在剩余数据时。
取消令牌已取消。 此异常存储在返回的任务中。
适用于
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(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 不兼容,或者 Stream 中有剩余数据。
returnType
或其可序列化成员没有兼容的 JsonConverter。
提供的 context
上的 GetTypeInfo(Type) 方法未返回 returnType
的兼容 JsonTypeInfo。
取消令牌已取消。 此异常存储在返回的任务中。
注解
此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用异常(如 ArgumentException)仍同步引发。 有关存储的异常,请参阅 Deserialize(Stream, Type, JsonSerializerContext)引发的异常。
适用于
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 不兼容,或者 Stream 中有剩余数据。
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。