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
所指定的實例。
Stream 將會讀取為完成。
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
。
Stream 將會讀取為完成。
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
。
Stream 將會讀取為完成。
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。