JsonSerializer.DeserializeAsync 方法

定義

多載

名稱 Description
DeserializeAsync(Stream, Type, JsonSerializerContext, CancellationToken)

將代表單一 JSON 值的 UTF-8 編碼文字讀取成 returnType。 《Stream》將被完整朗讀。

DeserializeAsync(Stream, Type, JsonSerializerOptions, CancellationToken)

非同步讀取代表單一 JSON 值的 UTF-8 編碼文字,進入指定類型的實例。 直播將被完整朗讀。

DeserializeAsync(PipeReader, Type, JsonSerializerContext, CancellationToken)

將代表單一 JSON 值的 UTF-8 編碼文字讀取成 returnType

PipeReader 將被完整閱讀。

DeserializeAsync(Stream, JsonTypeInfo, CancellationToken)

將代表單一 JSON 值的 UTF-8 編碼文字讀取到由 jsonTypeInfo. 《Stream》將被完整朗讀。

DeserializeAsync(PipeReader, JsonTypeInfo, CancellationToken)

將代表單一 JSON 值的 UTF-8 編碼文字讀取到由 jsonTypeInfo.

PipeReader 將被完整閱讀。

DeserializeAsync(PipeReader, Type, JsonSerializerOptions, CancellationToken)

將代表單一 JSON 值的 UTF-8 編碼文字讀取成 returnType

PipeReader 將被完整閱讀。

DeserializeAsync<TValue>(PipeReader, JsonSerializerOptions, CancellationToken)

將代表單一 JSON 值的 UTF-8 編碼文字讀取成 TValue

PipeReader 將被完整閱讀。

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

將代表單一 JSON 值的 UTF-8 編碼文字讀取成 TValue

PipeReader 將被完整閱讀。

DeserializeAsync<TValue>(Stream, JsonSerializerOptions, CancellationToken)

非同步讀取代表單一 JSON 值的 UTF-8 編碼文字,進入由一般型別參數指定的類型實例中。 直播將被完整朗讀。

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

將代表單一 JSON 值的 UTF-8 編碼文字讀取成 TValue。 《Stream》將被完整朗讀。

DeserializeAsync(Stream, Type, JsonSerializerContext, CancellationToken)

來源:
JsonSerializer.Read.Stream.cs
來源:
JsonSerializer.Read.Stream.cs
來源:
JsonSerializer.Read.Stream.cs
來源:
JsonSerializer.Read.Stream.cs
來源:
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可以用 that 來取消讀取操作。

傳回

JSON 值的 returnType 表示。

例外狀況

utf8Json, , returnTypecontextnull

JSON 無效、與 returnType JSON 不相容,或串流中有剩餘資料。

沒有相容 JsonConverter 的 或 returnType 其可序列化的成員。

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

取消令牌也被取消了。 此例外會儲存在回傳的任務中。

備註

此方法在任務中儲存所有非使用例外,該方法的同步對應程式可拋出這些例外。 如果回傳的任務中儲存了例外,該例外會在等待任務時拋出。 使用例外錯誤,例如 ArgumentException,仍會同步拋出。 關於儲存的例外,請參見由 Deserialize(Stream, Type, JsonSerializerContext)拋出的例外。

適用於

DeserializeAsync(Stream, Type, JsonSerializerOptions, CancellationToken)

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

非同步讀取代表單一 JSON 值的 UTF-8 編碼文字,進入指定類型的實例。 直播將被完整朗讀。

[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")]
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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")]
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);
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")>]
static member DeserializeAsync : System.IO.Stream * Type * System.Text.Json.JsonSerializerOptions * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<obj>
static member DeserializeAsync : System.IO.Stream * Type * System.Text.Json.JsonSerializerOptions * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<obj>
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")>]
static member DeserializeAsync : System.IO.Stream * Type * System.Text.Json.JsonSerializerOptions * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<obj>
Public Function DeserializeAsync (utf8Json As Stream, returnType As Type, Optional options As JsonSerializerOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Object)
Public Shared 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 不相容。

-或-

串流中仍有剩餘資料。

沒有相容 JsonConverter 的 或 returnType 其可序列化的成員。

取消令牌也被取消了。 此例外會儲存在回傳的任務中。

備註

更多資訊請參閱 《如何序列化與反序列化 JSON》。

此方法在任務中儲存所有非使用例外,該方法的同步對應程式可拋出這些例外。 如果回傳的任務中儲存了例外,該例外會在等待任務時拋出。 使用例外錯誤,例如 ArgumentException,仍會同步拋出。 關於儲存的例外,請參見由 Deserialize(Stream, Type, JsonSerializerOptions)拋出的例外。

適用於

DeserializeAsync(PipeReader, Type, JsonSerializerContext, CancellationToken)

來源:
JsonSerializer.Read.Pipe.cs
來源:
JsonSerializer.Read.Pipe.cs
來源:
JsonSerializer.Read.Pipe.cs

將代表單一 JSON 值的 UTF-8 編碼文字讀取成 returnType

PipeReader 將被完整閱讀。

public static System.Threading.Tasks.ValueTask<object?> DeserializeAsync(System.IO.Pipelines.PipeReader utf8Json, Type returnType, System.Text.Json.Serialization.JsonSerializerContext context, System.Threading.CancellationToken cancellationToken = default);
static member DeserializeAsync : System.IO.Pipelines.PipeReader * Type * System.Text.Json.Serialization.JsonSerializerContext * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<obj>
Public Function DeserializeAsync (utf8Json As PipeReader, returnType As Type, context As JsonSerializerContext, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Object)

參數

utf8Json
PipeReader

JSON 資料要解析。

returnType
Type

要轉換並回傳的物件類型。

context
JsonSerializerContext

一個可序列化型別的元資料提供者。

cancellationToken
CancellationToken

CancellationToken可以用 that 來取消讀取操作。

傳回

JSON 值的 returnType 表示。

例外狀況

utf8Json, , returnTypecontextnull

JSON 無效、與 returnType JSON 不相容,或 PipeReader 中還有剩餘資料。

沒有相容 JsonConverter 的 或 returnType 其可序列化的成員。

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

適用於

DeserializeAsync(Stream, JsonTypeInfo, CancellationToken)

來源:
JsonSerializer.Read.Stream.cs
來源:
JsonSerializer.Read.Stream.cs
來源:
JsonSerializer.Read.Stream.cs
來源:
JsonSerializer.Read.Stream.cs
來源:
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可以用 that 來取消讀取操作。

傳回

JSON 值的 jsonTypeInfo 表示。

例外狀況

utf8JsonjsonTypeInfonull

JSON 無效,或是串流中有剩餘資料。

取消令牌也被取消了。 此例外會儲存在回傳的任務中。

適用於

DeserializeAsync(PipeReader, JsonTypeInfo, CancellationToken)

來源:
JsonSerializer.Read.Pipe.cs
來源:
JsonSerializer.Read.Pipe.cs
來源:
JsonSerializer.Read.Pipe.cs

將代表單一 JSON 值的 UTF-8 編碼文字讀取到由 jsonTypeInfo.

PipeReader 將被完整閱讀。

public static System.Threading.Tasks.ValueTask<object?> DeserializeAsync(System.IO.Pipelines.PipeReader utf8Json, System.Text.Json.Serialization.Metadata.JsonTypeInfo jsonTypeInfo, System.Threading.CancellationToken cancellationToken = default);
static member DeserializeAsync : System.IO.Pipelines.PipeReader * System.Text.Json.Serialization.Metadata.JsonTypeInfo * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<obj>
Public Function DeserializeAsync (utf8Json As PipeReader, jsonTypeInfo As JsonTypeInfo, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Object)

參數

utf8Json
PipeReader

JSON 資料要解析。

jsonTypeInfo
JsonTypeInfo

關於要轉換的類型資料。

cancellationToken
CancellationToken

CancellationToken可以用 that 來取消讀取操作。

傳回

JSON 值的 jsonTypeInfo 表示。

例外狀況

utf8JsonjsonTypeInfonull

JSON 是無效的,或是 PipeReader 裡還有剩餘的資料。

適用於

DeserializeAsync(PipeReader, Type, JsonSerializerOptions, CancellationToken)

來源:
JsonSerializer.Read.Pipe.cs
來源:
JsonSerializer.Read.Pipe.cs
來源:
JsonSerializer.Read.Pipe.cs

將代表單一 JSON 值的 UTF-8 編碼文字讀取成 returnType

PipeReader 將被完整閱讀。

[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")]
public static System.Threading.Tasks.ValueTask<object?> DeserializeAsync(System.IO.Pipelines.PipeReader utf8Json, Type returnType, System.Text.Json.JsonSerializerOptions? options = default, System.Threading.CancellationToken cancellationToken = default);
public static System.Threading.Tasks.ValueTask<object?> DeserializeAsync(System.IO.Pipelines.PipeReader utf8Json, Type returnType, System.Text.Json.JsonSerializerOptions? options = default, System.Threading.CancellationToken cancellationToken = default);
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")>]
static member DeserializeAsync : System.IO.Pipelines.PipeReader * Type * System.Text.Json.JsonSerializerOptions * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<obj>
static member DeserializeAsync : System.IO.Pipelines.PipeReader * Type * System.Text.Json.JsonSerializerOptions * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<obj>
Public Function DeserializeAsync (utf8Json As PipeReader, returnType As Type, Optional options As JsonSerializerOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Object)

參數

utf8Json
PipeReader

JSON 資料要解析。

returnType
Type

要轉換並回傳的物件類型。

options
JsonSerializerOptions

閱讀時可控制行為的選項。

cancellationToken
CancellationToken

CancellationToken可以用 that 來取消讀取操作。

傳回

JSON 值的 returnType 表示。

屬性

例外狀況

utf8JsonreturnTypenull

JSON 無效、與 returnType JSON 不相容,或 PipeReader 中還有剩餘資料。

沒有相容 JsonConverter 的 或 returnType 其可序列化的成員。

適用於

DeserializeAsync<TValue>(PipeReader, JsonSerializerOptions, CancellationToken)

來源:
JsonSerializer.Read.Pipe.cs
來源:
JsonSerializer.Read.Pipe.cs
來源:
JsonSerializer.Read.Pipe.cs

將代表單一 JSON 值的 UTF-8 編碼文字讀取成 TValue

PipeReader 將被完整閱讀。

[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")]
public static System.Threading.Tasks.ValueTask<TValue?> DeserializeAsync<TValue>(System.IO.Pipelines.PipeReader utf8Json, System.Text.Json.JsonSerializerOptions? options = default, System.Threading.CancellationToken cancellationToken = default);
public static System.Threading.Tasks.ValueTask<TValue?> DeserializeAsync<TValue>(System.IO.Pipelines.PipeReader utf8Json, System.Text.Json.JsonSerializerOptions? options = default, System.Threading.CancellationToken cancellationToken = default);
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")>]
static member DeserializeAsync : System.IO.Pipelines.PipeReader * System.Text.Json.JsonSerializerOptions * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'Value>
static member DeserializeAsync : System.IO.Pipelines.PipeReader * System.Text.Json.JsonSerializerOptions * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'Value>
Public Function DeserializeAsync(Of TValue) (utf8Json As PipeReader, Optional options As JsonSerializerOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of TValue)

類型參數

TValue

要將 JSON 值反序列化成的類型。

參數

utf8Json
PipeReader

JSON 資料要解析。

options
JsonSerializerOptions

閱讀時可控制行為的選項。

cancellationToken
CancellationToken

CancellationToken可以用 that 來取消讀取操作。

傳回

ValueTask<TValue>

JSON 值的 TValue 表示。

屬性

例外狀況

utf8Jsonnull

JSON 無效、 TValue 與 JSON 不相容,或 PipeReader 中還有剩餘資料。

沒有相容 JsonConverter 的 或 TValue 其可序列化的成員。

適用於

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

來源:
JsonSerializer.Read.Pipe.cs
來源:
JsonSerializer.Read.Pipe.cs
來源:
JsonSerializer.Read.Pipe.cs

將代表單一 JSON 值的 UTF-8 編碼文字讀取成 TValue

PipeReader 將被完整閱讀。

public static System.Threading.Tasks.ValueTask<TValue?> DeserializeAsync<TValue>(System.IO.Pipelines.PipeReader utf8Json, System.Text.Json.Serialization.Metadata.JsonTypeInfo<TValue> jsonTypeInfo, System.Threading.CancellationToken cancellationToken = default);
static member DeserializeAsync : System.IO.Pipelines.PipeReader * System.Text.Json.Serialization.Metadata.JsonTypeInfo<'Value> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'Value>
Public Function DeserializeAsync(Of TValue) (utf8Json As PipeReader, jsonTypeInfo As JsonTypeInfo(Of TValue), Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of TValue)

類型參數

TValue

要將 JSON 值反序列化成的類型。

參數

utf8Json
PipeReader

JSON 資料要解析。

jsonTypeInfo
JsonTypeInfo<TValue>

關於要轉換的類型資料。

cancellationToken
CancellationToken

CancellationToken可以用 that 來取消讀取操作。

傳回

ValueTask<TValue>

JSON 值的 TValue 表示。

例外狀況

utf8JsonjsonTypeInfonull

JSON 無效、 TValue 與 JSON 不相容,或 PipeReader 中還有剩餘資料。

適用於

DeserializeAsync<TValue>(Stream, JsonSerializerOptions, CancellationToken)

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

非同步讀取代表單一 JSON 值的 UTF-8 編碼文字,進入由一般型別參數指定的類型實例中。 直播將被完整朗讀。

[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")]
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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")]
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);
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")>]
static member DeserializeAsync : System.IO.Stream * System.Text.Json.JsonSerializerOptions * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'Value>
static member DeserializeAsync : System.IO.Stream * System.Text.Json.JsonSerializerOptions * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'Value>
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")>]
static member DeserializeAsync : System.IO.Stream * System.Text.Json.JsonSerializerOptions * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'Value>
Public Function DeserializeAsync(Of TValue) (utf8Json As Stream, Optional options As JsonSerializerOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of TValue)
Public Shared 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 不相容。

-或-

串流中仍有剩餘資料。

沒有相容 JsonConverter 的 或 TValue 其可序列化的成員。

utf8Jsonnull

取消令牌也被取消了。 此例外會儲存在回傳的任務中。

備註

更多資訊請參閱 《如何序列化與反序列化 JSON》。

適用於

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

來源:
JsonSerializer.Read.Stream.cs
來源:
JsonSerializer.Read.Stream.cs
來源:
JsonSerializer.Read.Stream.cs
來源:
JsonSerializer.Read.Stream.cs
來源:
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可以用 that 來取消讀取操作。

傳回

ValueTask<TValue>

JSON 值的 TValue 表示。

例外狀況

utf8JsonjsonTypeInfonull

JSON 無效、 TValue 與 JSON 不相容,或串流中有剩餘資料。

沒有相容 JsonConverter 的 或 TValue 其可序列化的成員。

取消令牌也被取消了。 此例外會儲存在回傳的任務中。

適用於