共用方式為


JsonSerializer.DeserializeAsync 方法

定義

多載

DeserializeAsync(Stream, JsonTypeInfo, CancellationToken)

將代表單一 JSON 值的 UTF-8 編碼文字讀取至 jsonTypeInfo所指定的實例。 Stream 將會讀取為完成。

DeserializeAsync(Stream, Type, JsonSerializerOptions, CancellationToken)

以異步方式將代表單一 JSON 值的 UTF-8 編碼文字讀取至指定類型的實例。 數據流將會讀取為完成。

DeserializeAsync(Stream, Type, JsonSerializerContext, CancellationToken)

將代表單一 JSON 值的 UTF-8 編碼文字讀入 returnType。 Stream 將會讀取為完成。

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

將代表單一 JSON 值的 UTF-8 編碼文字讀入 TValue。 Stream 將會讀取為完成。

DeserializeAsync<TValue>(Stream, JsonSerializerOptions, CancellationToken)

以異步方式將代表單一 JSON 值的 UTF-8 編碼文字讀入泛型型別參數所指定的型別實例。 數據流將會讀取為完成。

DeserializeAsync(Stream, JsonTypeInfo, CancellationToken)

來源:
JsonSerializer.Read.Stream.cs
來源:
JsonSerializer.Read.Stream.cs

將代表單一 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 表示法。

例外狀況

utf8JsonjsonTypeInfonull

JSON 無效,或當 Stream 中有剩餘的數據時。

取消令牌已取消。 此例外狀況會儲存在傳回的工作中。

適用於

DeserializeAsync(Stream, Type, JsonSerializerOptions, CancellationToken)

來源:
JsonSerializer.Read.Stream.cs
來源:
JsonSerializer.Read.Stream.cs
來源:
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)

來源:
JsonSerializer.Read.Stream.cs
來源:
JsonSerializer.Read.Stream.cs
來源:
JsonSerializer.Read.Stream.cs

將代表單一 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 表示法。

例外狀況

utf8JsonreturnTypecontextnull

JSON 無效、returnType 與 JSON 不相容,或 Stream 中有剩餘的數據。

returnType 或其可串行化成員沒有相容的 JsonConverter

所提供 context 上的 GetTypeInfo(Type) 方法未傳回 returnType的相容 JsonTypeInfo

取消令牌已取消。 此例外狀況會儲存在傳回的工作中。

備註

這個方法會儲存在工作中,它會傳回方法同步對應項可以擲回的所有非使用例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用例外狀況,例如 ArgumentException,仍會同步擲回。 如需預存的例外狀況,請參閱 Deserialize(Stream, Type, JsonSerializerContext)擲回的例外狀況。

適用於

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

來源:
JsonSerializer.Read.Stream.cs
來源:
JsonSerializer.Read.Stream.cs
來源:
JsonSerializer.Read.Stream.cs

將代表單一 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

傳回

ValueTask<TValue>

JSON 值的 TValue 表示法。

例外狀況

utf8JsonjsonTypeInfonull

JSON 無效,TValue 與 JSON 不相容,或數據流中有剩餘的數據。

TValue 或其可串行化成員沒有相容的 JsonConverter

取消令牌已取消。 此例外狀況會儲存在傳回的工作中。

適用於

DeserializeAsync<TValue>(Stream, JsonSerializerOptions, CancellationToken)

來源:
JsonSerializer.Read.Stream.cs
來源:
JsonSerializer.Read.Stream.cs
來源:
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

適用於