JsonSerializer.Deserialize 方法

定義

多載

Deserialize(Stream, JsonTypeInfo)

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

Deserialize(Utf8JsonReader, Type, JsonSerializerContext)

從提供的讀取器讀取一個 JSON 值, (包括從提供的讀取器 returnType) 的物件或陣列。

Deserialize(Utf8JsonReader, Type, JsonSerializerOptions)

從提供的讀取器讀取一個 JSON 值, (包括物件或陣列) ,並將它轉換成指定類型的實例。

Deserialize(JsonNode, Type, JsonSerializerOptions)

JsonNode 表示單一 JSON 值的 轉換成 returnType

Deserialize(JsonElement, Type, JsonSerializerContext)

JsonElement 表示單一 JSON 值的 轉換成 returnType

Deserialize(JsonElement, Type, JsonSerializerOptions)

JsonElement 表示單一 JSON 值的 轉換成 returnType

Deserialize(JsonDocument, Type, JsonSerializerContext)

JsonDocument 表示單一 JSON 值的 轉換成 returnType

Deserialize(JsonDocument, Type, JsonSerializerOptions)

JsonDocument 表示單一 JSON 值的 轉換成 returnType

Deserialize(String, Type, JsonSerializerContext)

將代表單一 JSON 值的文字剖析為 returnType

Deserialize(String, Type, JsonSerializerOptions)

將表示單一 JSON 值的文字,剖析為指定類型的執行個體。

Deserialize(ReadOnlySpan<Char>, Type, JsonSerializerContext)

將代表單一 JSON 值的文字剖析為 returnType

Deserialize(ReadOnlySpan<Char>, Type, JsonSerializerOptions)

將表示單一 JSON 值的文字,剖析為指定類型的執行個體。

Deserialize(JsonNode, Type, JsonSerializerContext)

JsonNode 表示單一 JSON 值的 轉換成 returnType

Deserialize(ReadOnlySpan<Byte>, Type, JsonSerializerOptions)

將表示單一 JSON 值的 UTF-8 編碼文字,剖析為指定類型的執行個體。

Deserialize(ReadOnlySpan<Byte>, Type, JsonSerializerContext)

將代表單一 JSON 值的 UTF-8 編碼文字剖析為 returnType

Deserialize(ReadOnlySpan<Byte>, JsonTypeInfo)

將代表單一 JSON 值的 UTF-8 編碼文字剖析為 所 jsonTypeInfo 指定的實例。

Deserialize(String, JsonTypeInfo)

將代表單一 JSON 值的文字剖析為 所 jsonTypeInfo 指定的實例。

Deserialize(JsonDocument, JsonTypeInfo)

JsonDocument 表示單一 JSON 值的 轉換成 所 jsonTypeInfo 指定的實例。

Deserialize(ReadOnlySpan<Char>, JsonTypeInfo)

將代表單一 JSON 值的文字剖析為 所 jsonTypeInfo 指定的實例。

Deserialize(JsonNode, JsonTypeInfo)

JsonNode 表示單一 JSON 值的 轉換成 所 jsonTypeInfo 指定的實例。

Deserialize(Utf8JsonReader, JsonTypeInfo)

將一個 JSON 值讀取 (包括從提供的讀取器) 的物件或陣列,讀入 指定的 jsonTypeInfo 實例。

Deserialize(Stream, Type, JsonSerializerOptions)

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

Deserialize(Stream, Type, JsonSerializerContext)

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

Deserialize(JsonElement, JsonTypeInfo)

JsonElement 表示單一 JSON 值的 轉換成 所 jsonTypeInfo 指定的實例。

Deserialize<TValue>(Utf8JsonReader, JsonTypeInfo<TValue>)

從提供的讀取器讀取一個 JSON 值, (包括從提供的讀取器 TValue) 的物件或陣列。

Deserialize<TValue>(JsonDocument, JsonTypeInfo<TValue>)

JsonDocument 表示單一 JSON 值的 轉換成 TValue

Deserialize<TValue>(Utf8JsonReader, JsonSerializerOptions)

從提供的讀取器,將一個 JSON 值 (包括物件或陣列) 讀取至泛型型別參數所指定類型的執行個體。

Deserialize<TValue>(JsonNode, JsonTypeInfo<TValue>)

JsonNode 表示單一 JSON 值的 轉換成 TValue

Deserialize<TValue>(JsonNode, JsonSerializerOptions)

JsonNode 表示單一 JSON 值的 轉換成 TValue

Deserialize<TValue>(JsonElement, JsonTypeInfo<TValue>)

JsonElement 表示單一 JSON 值的 轉換成 TValue

Deserialize<TValue>(JsonElement, JsonSerializerOptions)

JsonElement 表示單一 JSON 值的 轉換成 TValue

Deserialize<TValue>(JsonDocument, JsonSerializerOptions)

JsonDocument 表示單一 JSON 值的 轉換成 TValue

Deserialize<TValue>(ReadOnlySpan<Char>, JsonSerializerOptions)

將表示單一 JSON 值的文字,剖析成泛型型別參數所指定類型的執行個體。

Deserialize<TValue>(String, JsonSerializerOptions)

將表示單一 JSON 值的文字,剖析成泛型型別參數所指定類型的執行個體。

Deserialize<TValue>(ReadOnlySpan<Char>, JsonTypeInfo<TValue>)

將代表單一 JSON 值的文字剖析為 TValue

Deserialize<TValue>(ReadOnlySpan<Byte>, JsonTypeInfo<TValue>)

將代表單一 JSON 值的 UTF-8 編碼文字剖析為 TValue

Deserialize<TValue>(ReadOnlySpan<Byte>, JsonSerializerOptions)

將表示單一 JSON 值的 UTF-8 編碼文字,剖析成泛型型別參數所指定類型的執行個體。

Deserialize<TValue>(Stream, JsonTypeInfo<TValue>)

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

Deserialize<TValue>(Stream, JsonSerializerOptions)

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

Deserialize<TValue>(String, JsonTypeInfo<TValue>)

將代表單一 JSON 值的文字剖析為 TValue

Deserialize(Stream, JsonTypeInfo)

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

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

public:
 static System::Object ^ Deserialize(System::IO::Stream ^ utf8Json, System::Text::Json::Serialization::Metadata::JsonTypeInfo ^ jsonTypeInfo);
public static object? Deserialize (System.IO.Stream utf8Json, System.Text.Json.Serialization.Metadata.JsonTypeInfo jsonTypeInfo);
static member Deserialize : System.IO.Stream * System.Text.Json.Serialization.Metadata.JsonTypeInfo -> obj
Public Function Deserialize (utf8Json As Stream, jsonTypeInfo As JsonTypeInfo) As Object

參數

utf8Json
Stream

要剖析的 JSON 資料。

jsonTypeInfo
JsonTypeInfo

要轉換之型別的相關中繼資料。

傳回

JSON 值的 jsonTypeInfo 表示法。

例外狀況

utf8JsonjsonTypeInfonull

JSON 無效,或 Stream 中有剩餘的資料。

適用於

Deserialize(Utf8JsonReader, Type, JsonSerializerContext)

來源:
JsonSerializer.Read.Utf8JsonReader.cs
來源:
JsonSerializer.Read.Utf8JsonReader.cs
來源:
JsonSerializer.Read.Utf8JsonReader.cs

從提供的讀取器讀取一個 JSON 值, (包括從提供的讀取器 returnType) 的物件或陣列。

public:
 static System::Object ^ Deserialize(System::Text::Json::Utf8JsonReader % reader, Type ^ returnType, System::Text::Json::Serialization::JsonSerializerContext ^ context);
public static object? Deserialize (ref System.Text.Json.Utf8JsonReader reader, Type returnType, System.Text.Json.Serialization.JsonSerializerContext context);
static member Deserialize : Utf8JsonReader * Type * System.Text.Json.Serialization.JsonSerializerContext -> obj
Public Function Deserialize (ByRef reader As Utf8JsonReader, returnType As Type, context As JsonSerializerContext) As Object

參數

reader
Utf8JsonReader

要讀取的讀取器。

returnType
Type

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

context
JsonSerializerContext

可序列化類型的中繼資料提供者。

傳回

JSON 值的 returnType 表示法。

例外狀況

returnTypecontextnull

JSON 無效、returnType 與 JSON 不相容,或無法從讀取器讀取值。

reader 正在使用不支援的選項。

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

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

備註

如果 的 TokenTypereader 屬性是 PropertyNameNone ,則讀取器會由一個 呼叫進階, Read() 以判斷值的開頭。

完成此方法時, reader 會位於 JSON 值的最後一個權杖。 如果擲回例外狀況,讀取器會重設為呼叫 方法時所在的狀態。

此方法會建立讀取器所處理之資料的複本,因此不需要呼叫端維護此方法傳回以外的資料完整性。

JsonReaderOptions用來建立 實例的 Utf8JsonReader ,在發生衝突時會優先于 JsonSerializerOptions 。 因此,讀取 AllowTrailingCommas 時會使用 、 MaxDepthCommentHandling

適用於

Deserialize(Utf8JsonReader, Type, JsonSerializerOptions)

來源:
JsonSerializer.Read.Utf8JsonReader.cs
來源:
JsonSerializer.Read.Utf8JsonReader.cs
來源:
JsonSerializer.Read.Utf8JsonReader.cs

從提供的讀取器讀取一個 JSON 值, (包括物件或陣列) ,並將它轉換成指定類型的實例。

public static object? Deserialize (ref System.Text.Json.Utf8JsonReader reader, Type returnType, System.Text.Json.JsonSerializerOptions? options = default);
public static object Deserialize (ref System.Text.Json.Utf8JsonReader reader, Type returnType, System.Text.Json.JsonSerializerOptions options = default);
static member Deserialize : Utf8JsonReader * Type * System.Text.Json.JsonSerializerOptions -> obj
Public Shared Function Deserialize (ByRef reader As Utf8JsonReader, returnType As Type, Optional options As JsonSerializerOptions = Nothing) As Object
Public Function Deserialize (ByRef reader As Utf8JsonReader, returnType As Type, Optional options As JsonSerializerOptions = Nothing) As Object

參數

reader
Utf8JsonReader

讀取 JSON 的來源讀取器。

returnType
Type

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

options
JsonSerializerOptions

在讀取期間控制序列化程式行為的選項。

傳回

JSON 值的 returnType 表示法。

例外狀況

returnTypenull

JSON 無效。

-或-

returnType 與 JSON 不相容。

-或-

無法從讀取器讀取某個值。

reader 正在使用不支援的選項。

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

備註

如果 的 TokenTypereader 屬性是 JsonTokenType.PropertyNameJsonTokenType.None ,則讀取器會由一個 呼叫進階, Utf8JsonReader.Read() 以判斷值的開頭。

完成此方法時, reader 將會放在 JSON 值的最後一個權杖。 如果擲回例外狀況,讀取器會重設為呼叫 方法時所在的狀態。

此方法會建立讀取器所處理之資料的複本,因此不需要呼叫端維護此方法傳回以外的資料完整性。

JsonReaderOptions用來建立 實例的 Utf8JsonReader ,在發生衝突時會優先于 JsonSerializerOptions 。 因此,讀取 JsonReaderOptions.AllowTrailingCommas 時會使用 、 JsonReaderOptions.MaxDepthJsonReaderOptions.CommentHandling

如需詳細資訊,請參閱 如何序列化和還原序列化 JSON

適用於

Deserialize(JsonNode, Type, JsonSerializerOptions)

來源:
JsonSerializer.Read.Node.cs
來源:
JsonSerializer.Read.Node.cs
來源:
JsonSerializer.Read.Node.cs

JsonNode 表示單一 JSON 值的 轉換成 returnType

public static object? Deserialize (this System.Text.Json.Nodes.JsonNode? node, Type returnType, System.Text.Json.JsonSerializerOptions? options = default);
static member Deserialize : System.Text.Json.Nodes.JsonNode * Type * System.Text.Json.JsonSerializerOptions -> obj
<Extension()>
Public Function Deserialize (node As JsonNode, returnType As Type, Optional options As JsonSerializerOptions = Nothing) As Object

參數

node
JsonNode

要進行轉換的 JsonNode

returnType
Type

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

options
JsonSerializerOptions

在剖析期間控制行為的選項。

傳回

JSON 值的 returnType 表示法。

例外狀況

returnType 與 JSON 不相容。

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

適用於

Deserialize(JsonElement, Type, JsonSerializerContext)

來源:
JsonSerializer.Read.Element.cs
來源:
JsonSerializer.Read.Element.cs
來源:
JsonSerializer.Read.Element.cs

JsonElement 表示單一 JSON 值的 轉換成 returnType

public:
[System::Runtime::CompilerServices::Extension]
 static System::Object ^ Deserialize(System::Text::Json::JsonElement element, Type ^ returnType, System::Text::Json::Serialization::JsonSerializerContext ^ context);
public static object? Deserialize (this System.Text.Json.JsonElement element, Type returnType, System.Text.Json.Serialization.JsonSerializerContext context);
static member Deserialize : System.Text.Json.JsonElement * Type * System.Text.Json.Serialization.JsonSerializerContext -> obj
<Extension()>
Public Function Deserialize (element As JsonElement, returnType As Type, context As JsonSerializerContext) As Object

參數

element
JsonElement

要進行轉換的 JsonElement

returnType
Type

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

context
JsonSerializerContext

可序列化類型的中繼資料提供者。

傳回

JSON 值的 returnType 表示法。

例外狀況

returnTypenull

-或-

contextnull

JSON 無效。

-或-

returnType 與 JSON 不相容。

-或-

超出單一 JSON 值的字串中有剩餘的資料。

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

提供 GetTypeInfo(Type)context 之 的 方法會 null 傳回要轉換的型別。

適用於

Deserialize(JsonElement, Type, JsonSerializerOptions)

來源:
JsonSerializer.Read.Element.cs
來源:
JsonSerializer.Read.Element.cs
來源:
JsonSerializer.Read.Element.cs

JsonElement 表示單一 JSON 值的 轉換成 returnType

public static object? Deserialize (this System.Text.Json.JsonElement element, Type returnType, System.Text.Json.JsonSerializerOptions? options = default);
static member Deserialize : System.Text.Json.JsonElement * Type * System.Text.Json.JsonSerializerOptions -> obj
<Extension()>
Public Function Deserialize (element As JsonElement, returnType As Type, Optional options As JsonSerializerOptions = Nothing) As Object

參數

element
JsonElement

要進行轉換的 JsonElement

returnType
Type

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

options
JsonSerializerOptions

在剖析期間控制行為的選項。

傳回

JSON 值的 returnType 表示法。

例外狀況

returnTypenull

returnType 與 JSON 不相容。

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

適用於

Deserialize(JsonDocument, Type, JsonSerializerContext)

來源:
JsonSerializer.Read.Document.cs
來源:
JsonSerializer.Read.Document.cs
來源:
JsonSerializer.Read.Document.cs

JsonDocument 表示單一 JSON 值的 轉換成 returnType

public:
[System::Runtime::CompilerServices::Extension]
 static System::Object ^ Deserialize(System::Text::Json::JsonDocument ^ document, Type ^ returnType, System::Text::Json::Serialization::JsonSerializerContext ^ context);
public static object? Deserialize (this System.Text.Json.JsonDocument document, Type returnType, System.Text.Json.Serialization.JsonSerializerContext context);
static member Deserialize : System.Text.Json.JsonDocument * Type * System.Text.Json.Serialization.JsonSerializerContext -> obj
<Extension()>
Public Function Deserialize (document As JsonDocument, returnType As Type, context As JsonSerializerContext) As Object

參數

document
JsonDocument

要進行轉換的 JsonDocument

returnType
Type

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

context
JsonSerializerContext

可序列化類型的中繼資料提供者。

傳回

JSON 值的 returnType 表示法。

例外狀況

documentnull

-或-

returnTypenull

-或-

contextnull

JSON 無效。

-或-

returnType 與 JSON 不相容。

-或-

超出單一 JSON 值的字串中有剩餘的資料。

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

提供 GetTypeInfo(Type)context 之 的 方法會 null 傳回要轉換的型別。

適用於

Deserialize(JsonDocument, Type, JsonSerializerOptions)

來源:
JsonSerializer.Read.Document.cs
來源:
JsonSerializer.Read.Document.cs
來源:
JsonSerializer.Read.Document.cs

JsonDocument 表示單一 JSON 值的 轉換成 returnType

public static object? Deserialize (this System.Text.Json.JsonDocument document, Type returnType, System.Text.Json.JsonSerializerOptions? options = default);
static member Deserialize : System.Text.Json.JsonDocument * Type * System.Text.Json.JsonSerializerOptions -> obj
<Extension()>
Public Function Deserialize (document As JsonDocument, returnType As Type, Optional options As JsonSerializerOptions = Nothing) As Object

參數

document
JsonDocument

要進行轉換的 JsonDocument

returnType
Type

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

options
JsonSerializerOptions

在剖析期間控制行為的選項。

傳回

JSON 值的 returnType 表示法。

例外狀況

documentreturnTypenull

returnType 與 JSON 不相容。

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

適用於

Deserialize(String, Type, JsonSerializerContext)

來源:
JsonSerializer.Read.String.cs
來源:
JsonSerializer.Read.String.cs
來源:
JsonSerializer.Read.String.cs

將代表單一 JSON 值的文字剖析為 returnType

public:
 static System::Object ^ Deserialize(System::String ^ json, Type ^ returnType, System::Text::Json::Serialization::JsonSerializerContext ^ context);
public static object? Deserialize (string json, Type returnType, System.Text.Json.Serialization.JsonSerializerContext context);
static member Deserialize : string * Type * System.Text.Json.Serialization.JsonSerializerContext -> obj
Public Function Deserialize (json As String, returnType As Type, context As JsonSerializerContext) As Object

參數

json
String

要剖析的 JSON 文字。

returnType
Type

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

context
JsonSerializerContext

可序列化類型的中繼資料提供者。

傳回

JSON 值的 returnType 表示法。

例外狀況

jsonreturnTypenull

-或-

contextnull

JSON 無效。

-或-

returnType 與 JSON 不相容。

-或-

超出單一 JSON 值的字串中有剩餘的資料。

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

提供 GetTypeInfo(Type)context 之 的 方法會 null 傳回要轉換的型別。

備註

String使用 與使用 UTF-8 方法不一樣有效率,因為實作原生使用 UTF-8。

適用於

Deserialize(String, Type, JsonSerializerOptions)

來源:
JsonSerializer.Read.String.cs
來源:
JsonSerializer.Read.String.cs
來源:
JsonSerializer.Read.String.cs

將表示單一 JSON 值的文字,剖析為指定類型的執行個體。

public static object? Deserialize (string json, Type returnType, System.Text.Json.JsonSerializerOptions? options = default);
public static object Deserialize (string json, Type returnType, System.Text.Json.JsonSerializerOptions options = default);
static member Deserialize : string * Type * System.Text.Json.JsonSerializerOptions -> obj
Public Shared Function Deserialize (json As String, returnType As Type, Optional options As JsonSerializerOptions = Nothing) As Object
Public Function Deserialize (json As String, returnType As Type, Optional options As JsonSerializerOptions = Nothing) As Object

參數

json
String

要剖析的 JSON 文字。

returnType
Type

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

options
JsonSerializerOptions

在剖析期間控制行為的選項。

傳回

JSON 值的 returnType 表示法。

例外狀況

jsonreturnTypenull

JSON 無效。

-或-

TValue 與 JSON 不相容。

-或-

超出單一 JSON 值的字串中有剩餘的資料。

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

備註

String使用 與使用 UTF-8 方法不一樣有效率,因為實作原生使用 UTF-8。

如需詳細資訊,請參閱 如何序列化和還原序列化 JSON

適用於

Deserialize(ReadOnlySpan<Char>, Type, JsonSerializerContext)

來源:
JsonSerializer.Read.String.cs
來源:
JsonSerializer.Read.String.cs
來源:
JsonSerializer.Read.String.cs

將代表單一 JSON 值的文字剖析為 returnType

public:
 static System::Object ^ Deserialize(ReadOnlySpan<char> json, Type ^ returnType, System::Text::Json::Serialization::JsonSerializerContext ^ context);
public static object? Deserialize (ReadOnlySpan<char> json, Type returnType, System.Text.Json.Serialization.JsonSerializerContext context);
static member Deserialize : ReadOnlySpan<char> * Type * System.Text.Json.Serialization.JsonSerializerContext -> obj
Public Function Deserialize (json As ReadOnlySpan(Of Char), returnType As Type, context As JsonSerializerContext) As Object

參數

json
ReadOnlySpan<Char>

要剖析的 JSON 文字。

returnType
Type

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

context
JsonSerializerContext

可序列化類型的中繼資料提供者。

傳回

JSON 值的 returnType 表示法。

例外狀況

jsonreturnTypenull

-或-

contextnull

JSON 無效。

-或-

returnType 與 JSON 不相容。

-或-

超出單一 JSON 值的字串中有剩餘的資料。

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

提供 GetTypeInfo(Type)context 之 的 方法會 null 傳回要轉換的型別。

備註

String使用 與使用 UTF-8 方法不一樣有效率,因為實作原生使用 UTF-8。

適用於

Deserialize(ReadOnlySpan<Char>, Type, JsonSerializerOptions)

來源:
JsonSerializer.Read.String.cs
來源:
JsonSerializer.Read.String.cs
來源:
JsonSerializer.Read.String.cs

將表示單一 JSON 值的文字,剖析為指定類型的執行個體。

public static object? Deserialize (ReadOnlySpan<char> json, Type returnType, System.Text.Json.JsonSerializerOptions? options = default);
static member Deserialize : ReadOnlySpan<char> * Type * System.Text.Json.JsonSerializerOptions -> obj
Public Function Deserialize (json As ReadOnlySpan(Of Char), returnType As Type, Optional options As JsonSerializerOptions = Nothing) As Object

參數

json
ReadOnlySpan<Char>

要剖析的 JSON 文字。

returnType
Type

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

options
JsonSerializerOptions

在剖析期間控制行為的選項。

傳回

JSON 值的 returnType 表示法。

例外狀況

returnTypenull

JSON 無效。

-或-

returnType 與 JSON 不相容。

-或-

超出單一 JSON 值的範圍中有剩餘的資料。

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

備註

使用 UTF-16 範圍不像使用 UTF-8 方法一樣有效率,因為實作原生使用 UTF-8。

適用於

Deserialize(JsonNode, Type, JsonSerializerContext)

來源:
JsonSerializer.Read.Node.cs
來源:
JsonSerializer.Read.Node.cs
來源:
JsonSerializer.Read.Node.cs

JsonNode 表示單一 JSON 值的 轉換成 returnType

public:
[System::Runtime::CompilerServices::Extension]
 static System::Object ^ Deserialize(System::Text::Json::Nodes::JsonNode ^ node, Type ^ returnType, System::Text::Json::Serialization::JsonSerializerContext ^ context);
public static object? Deserialize (this System.Text.Json.Nodes.JsonNode? node, Type returnType, System.Text.Json.Serialization.JsonSerializerContext context);
static member Deserialize : System.Text.Json.Nodes.JsonNode * Type * System.Text.Json.Serialization.JsonSerializerContext -> obj
<Extension()>
Public Function Deserialize (node As JsonNode, returnType As Type, context As JsonSerializerContext) As Object

參數

node
JsonNode

要進行轉換的 JsonNode

returnType
Type

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

context
JsonSerializerContext

可序列化類型的中繼資料提供者。

傳回

JSON 值的 returnType 表示法。

例外狀況

returnTypenull

-或-

contextnull

JSON 無效。

-或-

returnType 與 JSON 不相容。

-或-

超出單一 JSON 值的字串中有剩餘的資料。

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

提供 GetTypeInfo(Type)context 之 的 方法會 null 傳回要轉換的型別。

適用於

Deserialize(ReadOnlySpan<Byte>, Type, JsonSerializerOptions)

來源:
JsonSerializer.Read.Span.cs
來源:
JsonSerializer.Read.Span.cs
來源:
JsonSerializer.Read.Span.cs

將表示單一 JSON 值的 UTF-8 編碼文字,剖析為指定類型的執行個體。

public static object? Deserialize (ReadOnlySpan<byte> utf8Json, Type returnType, System.Text.Json.JsonSerializerOptions? options = default);
public static object Deserialize (ReadOnlySpan<byte> utf8Json, Type returnType, System.Text.Json.JsonSerializerOptions options = default);
static member Deserialize : ReadOnlySpan<byte> * Type * System.Text.Json.JsonSerializerOptions -> obj
Public Shared Function Deserialize (utf8Json As ReadOnlySpan(Of Byte), returnType As Type, Optional options As JsonSerializerOptions = Nothing) As Object
Public Function Deserialize (utf8Json As ReadOnlySpan(Of Byte), returnType As Type, Optional options As JsonSerializerOptions = Nothing) As Object

參數

utf8Json
ReadOnlySpan<Byte>

要剖析的 JSON 文字。

returnType
Type

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

options
JsonSerializerOptions

在剖析期間控制行為的選項。

傳回

JSON 值的 returnType 表示法。

例外狀況

returnTypenull

JSON 無效。

-或-

returnType 與 JSON 不相容。

-或-

超出單一 JSON 值的範圍中有剩餘的資料。

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

備註

如需詳細資訊,請參閱 如何序列化和還原序列化 JSON

適用於

Deserialize(ReadOnlySpan<Byte>, Type, JsonSerializerContext)

來源:
JsonSerializer.Read.Span.cs
來源:
JsonSerializer.Read.Span.cs
來源:
JsonSerializer.Read.Span.cs

將代表單一 JSON 值的 UTF-8 編碼文字剖析為 returnType

public:
 static System::Object ^ Deserialize(ReadOnlySpan<System::Byte> utf8Json, Type ^ returnType, System::Text::Json::Serialization::JsonSerializerContext ^ context);
public static object? Deserialize (ReadOnlySpan<byte> utf8Json, Type returnType, System.Text.Json.Serialization.JsonSerializerContext context);
static member Deserialize : ReadOnlySpan<byte> * Type * System.Text.Json.Serialization.JsonSerializerContext -> obj
Public Function Deserialize (utf8Json As ReadOnlySpan(Of Byte), returnType As Type, context As JsonSerializerContext) As Object

參數

utf8Json
ReadOnlySpan<Byte>

要剖析的 JSON 文字。

returnType
Type

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

context
JsonSerializerContext

可序列化類型的中繼資料提供者。

傳回

JSON 值的 returnType 表示法。

例外狀況

returnTypenull

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

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

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

適用於

Deserialize(ReadOnlySpan<Byte>, JsonTypeInfo)

來源:
JsonSerializer.Read.Span.cs
來源:
JsonSerializer.Read.Span.cs

將代表單一 JSON 值的 UTF-8 編碼文字剖析為 所 jsonTypeInfo 指定的實例。

public:
 static System::Object ^ Deserialize(ReadOnlySpan<System::Byte> utf8Json, System::Text::Json::Serialization::Metadata::JsonTypeInfo ^ jsonTypeInfo);
public static object? Deserialize (ReadOnlySpan<byte> utf8Json, System.Text.Json.Serialization.Metadata.JsonTypeInfo jsonTypeInfo);
static member Deserialize : ReadOnlySpan<byte> * System.Text.Json.Serialization.Metadata.JsonTypeInfo -> obj
Public Function Deserialize (utf8Json As ReadOnlySpan(Of Byte), jsonTypeInfo As JsonTypeInfo) As Object

參數

utf8Json
ReadOnlySpan<Byte>

要剖析的 JSON 文字。

jsonTypeInfo
JsonTypeInfo

要轉換之型別的相關中繼資料。

傳回

JSON 值的 jsonTypeInfo 表示法。

例外狀況

JSON 無效,或緩衝區中有剩餘的資料。

適用於

Deserialize(String, JsonTypeInfo)

來源:
JsonSerializer.Read.String.cs
來源:
JsonSerializer.Read.String.cs

將代表單一 JSON 值的文字剖析為 所 jsonTypeInfo 指定的實例。

public:
 static System::Object ^ Deserialize(System::String ^ json, System::Text::Json::Serialization::Metadata::JsonTypeInfo ^ jsonTypeInfo);
public static object? Deserialize (string json, System.Text.Json.Serialization.Metadata.JsonTypeInfo jsonTypeInfo);
static member Deserialize : string * System.Text.Json.Serialization.Metadata.JsonTypeInfo -> obj
Public Function Deserialize (json As String, jsonTypeInfo As JsonTypeInfo) As Object

參數

json
String

要剖析的 JSON 文字。

jsonTypeInfo
JsonTypeInfo

要轉換之型別的相關中繼資料。

傳回

JSON 值的 jsonTypeInfo 表示法。

例外狀況

jsonnull

-或-

jsonTypeInfonull

JSON 無效。

-或-

超出單一 JSON 值的字串中有剩餘的資料。

備註

String使用 與使用 UTF-8 方法不一樣有效率,因為實作原生使用 UTF-8。

適用於

Deserialize(JsonDocument, JsonTypeInfo)

來源:
JsonSerializer.Read.Document.cs
來源:
JsonSerializer.Read.Document.cs

JsonDocument 表示單一 JSON 值的 轉換成 所 jsonTypeInfo 指定的實例。

public:
[System::Runtime::CompilerServices::Extension]
 static System::Object ^ Deserialize(System::Text::Json::JsonDocument ^ document, System::Text::Json::Serialization::Metadata::JsonTypeInfo ^ jsonTypeInfo);
public static object? Deserialize (this System.Text.Json.JsonDocument document, System.Text.Json.Serialization.Metadata.JsonTypeInfo jsonTypeInfo);
static member Deserialize : System.Text.Json.JsonDocument * System.Text.Json.Serialization.Metadata.JsonTypeInfo -> obj
<Extension()>
Public Function Deserialize (document As JsonDocument, jsonTypeInfo As JsonTypeInfo) As Object

參數

document
JsonDocument

要進行轉換的 JsonDocument

jsonTypeInfo
JsonTypeInfo

要轉換之型別的相關中繼資料。

傳回

JSON 值的 jsonTypeInfo 表示法。

例外狀況

documentnull

-或-

jsonTypeInfonull

適用於

Deserialize(ReadOnlySpan<Char>, JsonTypeInfo)

來源:
JsonSerializer.Read.String.cs
來源:
JsonSerializer.Read.String.cs

將代表單一 JSON 值的文字剖析為 所 jsonTypeInfo 指定的實例。

public:
 static System::Object ^ Deserialize(ReadOnlySpan<char> json, System::Text::Json::Serialization::Metadata::JsonTypeInfo ^ jsonTypeInfo);
public static object? Deserialize (ReadOnlySpan<char> json, System.Text.Json.Serialization.Metadata.JsonTypeInfo jsonTypeInfo);
static member Deserialize : ReadOnlySpan<char> * System.Text.Json.Serialization.Metadata.JsonTypeInfo -> obj
Public Function Deserialize (json As ReadOnlySpan(Of Char), jsonTypeInfo As JsonTypeInfo) As Object

參數

json
ReadOnlySpan<Char>

要剖析的 JSON 文字。

jsonTypeInfo
JsonTypeInfo

要轉換之型別的相關中繼資料。

傳回

JSON 值的 jsonTypeInfo 表示法。

例外狀況

jsonTypeInfonull

JSON 無效。

-或-

超出單一 JSON 值的字串中有剩餘的資料。

備註

String使用 與使用 UTF-8 方法不一樣有效率,因為實作原生使用 UTF-8。

適用於

Deserialize(JsonNode, JsonTypeInfo)

來源:
JsonSerializer.Read.Node.cs
來源:
JsonSerializer.Read.Node.cs

JsonNode 表示單一 JSON 值的 轉換成 所 jsonTypeInfo 指定的實例。

public:
[System::Runtime::CompilerServices::Extension]
 static System::Object ^ Deserialize(System::Text::Json::Nodes::JsonNode ^ node, System::Text::Json::Serialization::Metadata::JsonTypeInfo ^ jsonTypeInfo);
public static object? Deserialize (this System.Text.Json.Nodes.JsonNode? node, System.Text.Json.Serialization.Metadata.JsonTypeInfo jsonTypeInfo);
static member Deserialize : System.Text.Json.Nodes.JsonNode * System.Text.Json.Serialization.Metadata.JsonTypeInfo -> obj
<Extension()>
Public Function Deserialize (node As JsonNode, jsonTypeInfo As JsonTypeInfo) As Object

參數

node
JsonNode

要進行轉換的 JsonNode

jsonTypeInfo
JsonTypeInfo

要轉換之型別的相關中繼資料。

傳回

JSON 值的 jsonTypeInfo 表示法。

例外狀況

jsonTypeInfonull

適用於

Deserialize(Utf8JsonReader, JsonTypeInfo)

來源:
JsonSerializer.Read.Utf8JsonReader.cs
來源:
JsonSerializer.Read.Utf8JsonReader.cs

將一個 JSON 值讀取 (包括從提供的讀取器) 的物件或陣列,讀入 指定的 jsonTypeInfo 實例。

public:
 static System::Object ^ Deserialize(System::Text::Json::Utf8JsonReader % reader, System::Text::Json::Serialization::Metadata::JsonTypeInfo ^ jsonTypeInfo);
public static object? Deserialize (ref System.Text.Json.Utf8JsonReader reader, System.Text.Json.Serialization.Metadata.JsonTypeInfo jsonTypeInfo);
static member Deserialize : Utf8JsonReader * System.Text.Json.Serialization.Metadata.JsonTypeInfo -> obj
Public Function Deserialize (ByRef reader As Utf8JsonReader, jsonTypeInfo As JsonTypeInfo) As Object

參數

reader
Utf8JsonReader

要讀取的讀取器。

jsonTypeInfo
JsonTypeInfo

要轉換之型別的相關中繼資料。

傳回

JSON 值的 jsonTypeInfo 表示法。

例外狀況

JSON 無效、jsonTypeInfo 與 JSON 不相容,或無法從讀取器讀取值。

reader 正在使用不支援的選項。

備註

如果 的 TokenTypereader 屬性是 PropertyNameNone ,則讀取器會由一個 呼叫進階, Read() 以判斷值的開頭。

完成此方法時, reader 將會放在 JSON 值的最後一個權杖。 如果擲回例外狀況,讀取器會重設為呼叫 方法時所在的狀態。

此方法會建立讀取器所處理之資料的複本,因此不需要呼叫端維護此方法傳回以外的資料完整性。

JsonReaderOptions用來建立 實例的 Utf8JsonReader ,在發生衝突時會優先于 JsonSerializerOptions 。 因此,讀取 AllowTrailingCommas 時會使用 、 MaxDepthCommentHandling

適用於

Deserialize(Stream, Type, JsonSerializerOptions)

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

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

public static object? Deserialize (System.IO.Stream utf8Json, Type returnType, System.Text.Json.JsonSerializerOptions? options = default);
static member Deserialize : System.IO.Stream * Type * System.Text.Json.JsonSerializerOptions -> obj
Public Function Deserialize (utf8Json As Stream, returnType As Type, Optional options As JsonSerializerOptions = Nothing) As Object

參數

utf8Json
Stream

要剖析的 JSON 資料。

returnType
Type

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

options
JsonSerializerOptions

在讀取期間控制行為的選項。

傳回

JSON 值的 returnType 表示法。

例外狀況

utf8JsonreturnTypenull

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

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

適用於

Deserialize(Stream, Type, JsonSerializerContext)

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

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

public:
 static System::Object ^ Deserialize(System::IO::Stream ^ utf8Json, Type ^ returnType, System::Text::Json::Serialization::JsonSerializerContext ^ context);
public static object? Deserialize (System.IO.Stream utf8Json, Type returnType, System.Text.Json.Serialization.JsonSerializerContext context);
static member Deserialize : System.IO.Stream * Type * System.Text.Json.Serialization.JsonSerializerContext -> obj
Public Function Deserialize (utf8Json As Stream, returnType As Type, context As JsonSerializerContext) As Object

參數

utf8Json
Stream

要剖析的 JSON 資料。

returnType
Type

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

context
JsonSerializerContext

可序列化類型的中繼資料提供者。

傳回

JSON 值的 returnType 表示法。

例外狀況

utf8JsonreturnTypecontextnull

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

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

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

適用於

Deserialize(JsonElement, JsonTypeInfo)

來源:
JsonSerializer.Read.Element.cs
來源:
JsonSerializer.Read.Element.cs

JsonElement 表示單一 JSON 值的 轉換成 所 jsonTypeInfo 指定的實例。

public:
[System::Runtime::CompilerServices::Extension]
 static System::Object ^ Deserialize(System::Text::Json::JsonElement element, System::Text::Json::Serialization::Metadata::JsonTypeInfo ^ jsonTypeInfo);
public static object? Deserialize (this System.Text.Json.JsonElement element, System.Text.Json.Serialization.Metadata.JsonTypeInfo jsonTypeInfo);
static member Deserialize : System.Text.Json.JsonElement * System.Text.Json.Serialization.Metadata.JsonTypeInfo -> obj
<Extension()>
Public Function Deserialize (element As JsonElement, jsonTypeInfo As JsonTypeInfo) As Object

參數

element
JsonElement

要進行轉換的 JsonElement

jsonTypeInfo
JsonTypeInfo

要轉換之型別的相關中繼資料。

傳回

JSON 值的 jsonTypeInfo 表示法。

例外狀況

jsonTypeInfonull

適用於

Deserialize<TValue>(Utf8JsonReader, JsonTypeInfo<TValue>)

來源:
JsonSerializer.Read.Utf8JsonReader.cs
來源:
JsonSerializer.Read.Utf8JsonReader.cs
來源:
JsonSerializer.Read.Utf8JsonReader.cs

從提供的讀取器讀取一個 JSON 值, (包括從提供的讀取器 TValue) 的物件或陣列。

public:
generic <typename TValue>
 static TValue Deserialize(System::Text::Json::Utf8JsonReader % reader, System::Text::Json::Serialization::Metadata::JsonTypeInfo<TValue> ^ jsonTypeInfo);
public static TValue? Deserialize<TValue> (ref System.Text.Json.Utf8JsonReader reader, System.Text.Json.Serialization.Metadata.JsonTypeInfo<TValue> jsonTypeInfo);
static member Deserialize : Utf8JsonReader * System.Text.Json.Serialization.Metadata.JsonTypeInfo<'Value> -> 'Value
Public Function Deserialize(Of TValue) (ByRef reader As Utf8JsonReader, jsonTypeInfo As JsonTypeInfo(Of TValue)) As TValue

類型參數

TValue

要還原序列化 JSON 值的型別。

參數

reader
Utf8JsonReader

要讀取的讀取器。

jsonTypeInfo
JsonTypeInfo<TValue>

要轉換之型別的相關中繼資料。

傳回

TValue

JSON 值的 TValue 表示法。

例外狀況

JSON 無效、TValue 與 JSON 不相容,或無法從讀取器讀取值。

reader 正在使用不支援的選項。

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

備註

如果 的 TokenTypereader 屬性是 PropertyNameNone ,則讀取器會由一個 呼叫進階, Read() 以判斷值的開頭。

完成此方法時, reader 會位於 JSON 值的最後一個權杖。 如果擲回例外狀況,讀取器會重設為呼叫 方法時所在的狀態。

此方法會建立讀取器所處理之資料的複本,因此不需要呼叫端維護此方法傳回以外的資料完整性。

JsonReaderOptions用來建立 實例的 Utf8JsonReader ,在發生衝突時會優先于 JsonSerializerOptions 。 因此,讀取 AllowTrailingCommas 時會使用 、 MaxDepthCommentHandling

適用於

Deserialize<TValue>(JsonDocument, JsonTypeInfo<TValue>)

來源:
JsonSerializer.Read.Document.cs
來源:
JsonSerializer.Read.Document.cs
來源:
JsonSerializer.Read.Document.cs

JsonDocument 表示單一 JSON 值的 轉換成 TValue

public:
generic <typename TValue>
[System::Runtime::CompilerServices::Extension]
 static TValue Deserialize(System::Text::Json::JsonDocument ^ document, System::Text::Json::Serialization::Metadata::JsonTypeInfo<TValue> ^ jsonTypeInfo);
public static TValue? Deserialize<TValue> (this System.Text.Json.JsonDocument document, System.Text.Json.Serialization.Metadata.JsonTypeInfo<TValue> jsonTypeInfo);
static member Deserialize : System.Text.Json.JsonDocument * System.Text.Json.Serialization.Metadata.JsonTypeInfo<'Value> -> 'Value
<Extension()>
Public Function Deserialize(Of TValue) (document As JsonDocument, jsonTypeInfo As JsonTypeInfo(Of TValue)) As TValue

類型參數

TValue

要還原序列化 JSON 值的型別。

參數

document
JsonDocument

要進行轉換的 JsonDocument

jsonTypeInfo
JsonTypeInfo<TValue>

要轉換之型別的相關中繼資料。

傳回

TValue

JSON 值的 TValue 表示法。

例外狀況

documentnull

-或-

jsonTypeInfonull

TValue 與 JSON 不相容。

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

適用於

Deserialize<TValue>(Utf8JsonReader, JsonSerializerOptions)

來源:
JsonSerializer.Read.Utf8JsonReader.cs
來源:
JsonSerializer.Read.Utf8JsonReader.cs
來源:
JsonSerializer.Read.Utf8JsonReader.cs

從提供的讀取器,將一個 JSON 值 (包括物件或陣列) 讀取至泛型型別參數所指定類型的執行個體。

public static TValue? Deserialize<TValue> (ref System.Text.Json.Utf8JsonReader reader, System.Text.Json.JsonSerializerOptions? options = default);
public static TValue Deserialize<TValue> (ref System.Text.Json.Utf8JsonReader reader, System.Text.Json.JsonSerializerOptions options = default);
static member Deserialize : Utf8JsonReader * System.Text.Json.JsonSerializerOptions -> 'Value
Public Shared Function Deserialize(Of TValue) (ByRef reader As Utf8JsonReader, Optional options As JsonSerializerOptions = Nothing) As TValue
Public Function Deserialize(Of TValue) (ByRef reader As Utf8JsonReader, Optional options As JsonSerializerOptions = Nothing) As TValue

類型參數

TValue

JSON 值的目標型別。

參數

reader
Utf8JsonReader

讀取 JSON 的來源讀取器。

options
JsonSerializerOptions

在讀取期間控制序列化程式行為的選項。

傳回

TValue

JSON 值的 TValue 表示法。

例外狀況

JSON 無效。

-或-

TValue 與 JSON 不相容。

-或-

無法從讀取器讀取某個值。

reader 使用不支援的選項。

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

備註

如果 的 TokenTypereader 屬性是 JsonTokenType.PropertyNameJsonTokenType.None ,則讀取器會由一個 呼叫進階, Utf8JsonReader.Read() 以判斷值的開頭。

完成此方法時, reader 將會放在 JSON 值的最後一個權杖。 如果擲回例外狀況,讀取器會重設為呼叫 方法時所在的狀態。

此方法會建立讀取器所處理之資料的複本,因此不需要呼叫端維護此方法傳回以外的資料完整性。

JsonReaderOptions用來建立 實例的 Utf8JsonReader ,在發生衝突時會優先于 JsonSerializerOptions 。 因此,讀取 JsonReaderOptions.AllowTrailingCommas 時會使用 、 JsonReaderOptions.MaxDepthJsonReaderOptions.CommentHandling

如需詳細資訊,請參閱 如何序列化和還原序列化 JSON

適用於

Deserialize<TValue>(JsonNode, JsonTypeInfo<TValue>)

來源:
JsonSerializer.Read.Node.cs
來源:
JsonSerializer.Read.Node.cs
來源:
JsonSerializer.Read.Node.cs

JsonNode 表示單一 JSON 值的 轉換成 TValue

public:
generic <typename TValue>
[System::Runtime::CompilerServices::Extension]
 static TValue Deserialize(System::Text::Json::Nodes::JsonNode ^ node, System::Text::Json::Serialization::Metadata::JsonTypeInfo<TValue> ^ jsonTypeInfo);
public static TValue? Deserialize<TValue> (this System.Text.Json.Nodes.JsonNode? node, System.Text.Json.Serialization.Metadata.JsonTypeInfo<TValue> jsonTypeInfo);
static member Deserialize : System.Text.Json.Nodes.JsonNode * System.Text.Json.Serialization.Metadata.JsonTypeInfo<'Value> -> 'Value
<Extension()>
Public Function Deserialize(Of TValue) (node As JsonNode, jsonTypeInfo As JsonTypeInfo(Of TValue)) As TValue

類型參數

TValue

要還原序列化 JSON 值的型別。

參數

node
JsonNode

要進行轉換的 JsonNode

jsonTypeInfo
JsonTypeInfo<TValue>

要轉換之型別的相關中繼資料。

傳回

TValue

JSON 值的 TValue 表示法。

例外狀況

jsonTypeInfonull

TValue 與 JSON 不相容。

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

適用於

Deserialize<TValue>(JsonNode, JsonSerializerOptions)

來源:
JsonSerializer.Read.Node.cs
來源:
JsonSerializer.Read.Node.cs
來源:
JsonSerializer.Read.Node.cs

JsonNode 表示單一 JSON 值的 轉換成 TValue

public static TValue? Deserialize<TValue> (this System.Text.Json.Nodes.JsonNode? node, System.Text.Json.JsonSerializerOptions? options = default);
static member Deserialize : System.Text.Json.Nodes.JsonNode * System.Text.Json.JsonSerializerOptions -> 'Value
<Extension()>
Public Function Deserialize(Of TValue) (node As JsonNode, Optional options As JsonSerializerOptions = Nothing) As TValue

類型參數

TValue

要還原序列化 JSON 值的型別。

參數

node
JsonNode

要進行轉換的 JsonNode

options
JsonSerializerOptions

在剖析期間控制行為的選項。

傳回

TValue

JSON 值的 TValue 表示法。

例外狀況

TValue 與 JSON 不相容。

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

適用於

Deserialize<TValue>(JsonElement, JsonTypeInfo<TValue>)

來源:
JsonSerializer.Read.Element.cs
來源:
JsonSerializer.Read.Element.cs
來源:
JsonSerializer.Read.Element.cs

JsonElement 表示單一 JSON 值的 轉換成 TValue

public:
generic <typename TValue>
[System::Runtime::CompilerServices::Extension]
 static TValue Deserialize(System::Text::Json::JsonElement element, System::Text::Json::Serialization::Metadata::JsonTypeInfo<TValue> ^ jsonTypeInfo);
public static TValue? Deserialize<TValue> (this System.Text.Json.JsonElement element, System.Text.Json.Serialization.Metadata.JsonTypeInfo<TValue> jsonTypeInfo);
static member Deserialize : System.Text.Json.JsonElement * System.Text.Json.Serialization.Metadata.JsonTypeInfo<'Value> -> 'Value
<Extension()>
Public Function Deserialize(Of TValue) (element As JsonElement, jsonTypeInfo As JsonTypeInfo(Of TValue)) As TValue

類型參數

TValue

要還原序列化 JSON 值的型別。

參數

element
JsonElement

要進行轉換的 JsonElement

jsonTypeInfo
JsonTypeInfo<TValue>

要轉換之型別的相關中繼資料。

傳回

TValue

JSON 值的 TValue 表示法。

例外狀況

jsonTypeInfonull

TValue 與 JSON 不相容。

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

適用於

Deserialize<TValue>(JsonElement, JsonSerializerOptions)

來源:
JsonSerializer.Read.Element.cs
來源:
JsonSerializer.Read.Element.cs
來源:
JsonSerializer.Read.Element.cs

JsonElement 表示單一 JSON 值的 轉換成 TValue

public static TValue? Deserialize<TValue> (this System.Text.Json.JsonElement element, System.Text.Json.JsonSerializerOptions? options = default);
static member Deserialize : System.Text.Json.JsonElement * System.Text.Json.JsonSerializerOptions -> 'Value
<Extension()>
Public Function Deserialize(Of TValue) (element As JsonElement, Optional options As JsonSerializerOptions = Nothing) As TValue

類型參數

TValue

要還原序列化 JSON 值的型別。

參數

element
JsonElement

要進行轉換的 JsonElement

options
JsonSerializerOptions

在剖析期間控制行為的選項。

傳回

TValue

JSON 值的 TValue 表示法。

例外狀況

TValue 與 JSON 不相容。

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

適用於

Deserialize<TValue>(JsonDocument, JsonSerializerOptions)

來源:
JsonSerializer.Read.Document.cs
來源:
JsonSerializer.Read.Document.cs
來源:
JsonSerializer.Read.Document.cs

JsonDocument 表示單一 JSON 值的 轉換成 TValue

public static TValue? Deserialize<TValue> (this System.Text.Json.JsonDocument document, System.Text.Json.JsonSerializerOptions? options = default);
static member Deserialize : System.Text.Json.JsonDocument * System.Text.Json.JsonSerializerOptions -> 'Value
<Extension()>
Public Function Deserialize(Of TValue) (document As JsonDocument, Optional options As JsonSerializerOptions = Nothing) As TValue

類型參數

TValue

要還原序列化 JSON 值的型別。

參數

document
JsonDocument

要進行轉換的 JsonDocument

options
JsonSerializerOptions

在剖析期間控制行為的選項。

傳回

TValue

JSON 值的 TValue 表示法。

例外狀況

documentnull

TValue 與 JSON 不相容。

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

適用於

Deserialize<TValue>(ReadOnlySpan<Char>, JsonSerializerOptions)

來源:
JsonSerializer.Read.String.cs
來源:
JsonSerializer.Read.String.cs
來源:
JsonSerializer.Read.String.cs

將表示單一 JSON 值的文字,剖析成泛型型別參數所指定類型的執行個體。

public static TValue? Deserialize<TValue> (ReadOnlySpan<char> json, System.Text.Json.JsonSerializerOptions? options = default);
static member Deserialize : ReadOnlySpan<char> * System.Text.Json.JsonSerializerOptions -> 'Value
Public Function Deserialize(Of TValue) (json As ReadOnlySpan(Of Char), Optional options As JsonSerializerOptions = Nothing) As TValue

類型參數

TValue

要還原序列化 JSON 值的型別。

參數

json
ReadOnlySpan<Char>

要剖析的 JSON 文字。

options
JsonSerializerOptions

在剖析期間控制行為的選項。

傳回

TValue

JSON 值的 TValue 表示法。

例外狀況

JSON 無效。

-或-

TValue 與 JSON 不相容。

-或-

超出單一 JSON 值的範圍中有剩餘的資料。

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

備註

使用 UTF-16 範圍不像使用 UTF-8 方法一樣有效率,因為實作原生使用 UTF-8。

適用於

Deserialize<TValue>(String, JsonSerializerOptions)

來源:
JsonSerializer.Read.String.cs
來源:
JsonSerializer.Read.String.cs
來源:
JsonSerializer.Read.String.cs

將表示單一 JSON 值的文字,剖析成泛型型別參數所指定類型的執行個體。

public static TValue? Deserialize<TValue> (string json, System.Text.Json.JsonSerializerOptions? options = default);
public static TValue Deserialize<TValue> (string json, System.Text.Json.JsonSerializerOptions options = default);
static member Deserialize : string * System.Text.Json.JsonSerializerOptions -> 'Value
Public Shared Function Deserialize(Of TValue) (json As String, Optional options As JsonSerializerOptions = Nothing) As TValue
Public Function Deserialize(Of TValue) (json As String, Optional options As JsonSerializerOptions = Nothing) As TValue

類型參數

TValue

JSON 值的目標型別。

參數

json
String

要剖析的 JSON 文字。

options
JsonSerializerOptions

在剖析期間控制行為的選項。

傳回

TValue

JSON 值的 TValue 表示法。

例外狀況

jsonnull

JSON 無效。

-或-

TValue 與 JSON 不相容。

-或-

超出單一 JSON 值的字串中有剩餘的資料。

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

備註

String使用 與使用 UTF-8 方法不一樣有效率,因為實作原生使用 UTF-8。

如需詳細資訊,請參閱 如何序列化和還原序列化 JSON

適用於

Deserialize<TValue>(ReadOnlySpan<Char>, JsonTypeInfo<TValue>)

來源:
JsonSerializer.Read.String.cs
來源:
JsonSerializer.Read.String.cs
來源:
JsonSerializer.Read.String.cs

將代表單一 JSON 值的文字剖析為 TValue

public:
generic <typename TValue>
 static TValue Deserialize(ReadOnlySpan<char> json, System::Text::Json::Serialization::Metadata::JsonTypeInfo<TValue> ^ jsonTypeInfo);
public static TValue? Deserialize<TValue> (ReadOnlySpan<char> json, System.Text.Json.Serialization.Metadata.JsonTypeInfo<TValue> jsonTypeInfo);
static member Deserialize : ReadOnlySpan<char> * System.Text.Json.Serialization.Metadata.JsonTypeInfo<'Value> -> 'Value
Public Function Deserialize(Of TValue) (json As ReadOnlySpan(Of Char), jsonTypeInfo As JsonTypeInfo(Of TValue)) As TValue

類型參數

TValue

要還原序列化 JSON 值的型別。

參數

json
ReadOnlySpan<Char>

要剖析的 JSON 文字。

jsonTypeInfo
JsonTypeInfo<TValue>

要轉換之型別的相關中繼資料。

傳回

TValue

JSON 值的 TValue 表示法。

例外狀況

jsonnull

-或-

jsonTypeInfonull

JSON 無效。

-或-

TValue 與 JSON 不相容。

-或-

超出單一 JSON 值的字串中有剩餘的資料。

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

備註

String使用 與使用 UTF-8 方法不一樣有效率,因為實作原生使用 UTF-8。

適用於

Deserialize<TValue>(ReadOnlySpan<Byte>, JsonTypeInfo<TValue>)

來源:
JsonSerializer.Read.Span.cs
來源:
JsonSerializer.Read.Span.cs
來源:
JsonSerializer.Read.Span.cs

將代表單一 JSON 值的 UTF-8 編碼文字剖析為 TValue

public:
generic <typename TValue>
 static TValue Deserialize(ReadOnlySpan<System::Byte> utf8Json, System::Text::Json::Serialization::Metadata::JsonTypeInfo<TValue> ^ jsonTypeInfo);
public static TValue? Deserialize<TValue> (ReadOnlySpan<byte> utf8Json, System.Text.Json.Serialization.Metadata.JsonTypeInfo<TValue> jsonTypeInfo);
static member Deserialize : ReadOnlySpan<byte> * System.Text.Json.Serialization.Metadata.JsonTypeInfo<'Value> -> 'Value
Public Function Deserialize(Of TValue) (utf8Json As ReadOnlySpan(Of Byte), jsonTypeInfo As JsonTypeInfo(Of TValue)) As TValue

類型參數

TValue

要還原序列化 JSON 值的型別。

參數

utf8Json
ReadOnlySpan<Byte>

要剖析的 JSON 文字。

jsonTypeInfo
JsonTypeInfo<TValue>

要轉換之型別的相關中繼資料。

傳回

TValue

JSON 值的 TValue 表示法。

例外狀況

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

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

適用於

Deserialize<TValue>(ReadOnlySpan<Byte>, JsonSerializerOptions)

來源:
JsonSerializer.Read.Span.cs
來源:
JsonSerializer.Read.Span.cs
來源:
JsonSerializer.Read.Span.cs

將表示單一 JSON 值的 UTF-8 編碼文字,剖析成泛型型別參數所指定類型的執行個體。

public static TValue? Deserialize<TValue> (ReadOnlySpan<byte> utf8Json, System.Text.Json.JsonSerializerOptions? options = default);
public static TValue Deserialize<TValue> (ReadOnlySpan<byte> utf8Json, System.Text.Json.JsonSerializerOptions options = default);
static member Deserialize : ReadOnlySpan<byte> * System.Text.Json.JsonSerializerOptions -> 'Value
Public Shared Function Deserialize(Of TValue) (utf8Json As ReadOnlySpan(Of Byte), Optional options As JsonSerializerOptions = Nothing) As TValue
Public Function Deserialize(Of TValue) (utf8Json As ReadOnlySpan(Of Byte), Optional options As JsonSerializerOptions = Nothing) As TValue

類型參數

TValue

UTF-8 編碼文字的目標型別。

參數

utf8Json
ReadOnlySpan<Byte>

要剖析的 JSON 文字。

options
JsonSerializerOptions

在剖析期間控制行為的選項。

傳回

TValue

JSON 值的 TValue 表示法。

例外狀況

JSON 無效。

-或-

TValue 與 JSON 不相容。

-或-

超出單一 JSON 值的範圍中有剩餘的資料。

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

備註

如需詳細資訊,請參閱 如何序列化和還原序列化 JSON

適用於

Deserialize<TValue>(Stream, JsonTypeInfo<TValue>)

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

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

public:
generic <typename TValue>
 static TValue Deserialize(System::IO::Stream ^ utf8Json, System::Text::Json::Serialization::Metadata::JsonTypeInfo<TValue> ^ jsonTypeInfo);
public static TValue? Deserialize<TValue> (System.IO.Stream utf8Json, System.Text.Json.Serialization.Metadata.JsonTypeInfo<TValue> jsonTypeInfo);
static member Deserialize : System.IO.Stream * System.Text.Json.Serialization.Metadata.JsonTypeInfo<'Value> -> 'Value
Public Function Deserialize(Of TValue) (utf8Json As Stream, jsonTypeInfo As JsonTypeInfo(Of TValue)) As TValue

類型參數

TValue

要還原序列化 JSON 值的型別。

參數

utf8Json
Stream

要剖析的 JSON 資料。

jsonTypeInfo
JsonTypeInfo<TValue>

要轉換之型別的相關中繼資料。

傳回

TValue

JSON 值的 TValue 表示法。

例外狀況

utf8JsonjsonTypeInfonull

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

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

適用於

Deserialize<TValue>(Stream, JsonSerializerOptions)

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

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

public static TValue? Deserialize<TValue> (System.IO.Stream utf8Json, System.Text.Json.JsonSerializerOptions? options = default);
static member Deserialize : System.IO.Stream * System.Text.Json.JsonSerializerOptions -> 'Value
Public Function Deserialize(Of TValue) (utf8Json As Stream, Optional options As JsonSerializerOptions = Nothing) As TValue

類型參數

TValue

要還原序列化 JSON 值的型別。

參數

utf8Json
Stream

要剖析的 JSON 資料。

options
JsonSerializerOptions

在讀取期間控制行為的選項。

傳回

TValue

JSON 值的 TValue 表示法。

例外狀況

utf8Jsonnull

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

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

適用於

Deserialize<TValue>(String, JsonTypeInfo<TValue>)

來源:
JsonSerializer.Read.String.cs
來源:
JsonSerializer.Read.String.cs
來源:
JsonSerializer.Read.String.cs

將代表單一 JSON 值的文字剖析為 TValue

public:
generic <typename TValue>
 static TValue Deserialize(System::String ^ json, System::Text::Json::Serialization::Metadata::JsonTypeInfo<TValue> ^ jsonTypeInfo);
public static TValue? Deserialize<TValue> (string json, System.Text.Json.Serialization.Metadata.JsonTypeInfo<TValue> jsonTypeInfo);
static member Deserialize : string * System.Text.Json.Serialization.Metadata.JsonTypeInfo<'Value> -> 'Value
Public Function Deserialize(Of TValue) (json As String, jsonTypeInfo As JsonTypeInfo(Of TValue)) As TValue

類型參數

TValue

要還原序列化 JSON 值的型別。

參數

json
String

要剖析的 JSON 文字。

jsonTypeInfo
JsonTypeInfo<TValue>

要轉換之型別的相關中繼資料。

傳回

TValue

JSON 值的 TValue 表示法。

例外狀況

jsonnull

-或-

jsonTypeInfonull

JSON 無效。

-或-

TValue 與 JSON 不相容。

-或-

超出單一 JSON 值的字串中有剩餘的資料。

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

備註

String使用 與使用 UTF-8 方法一樣有效率,因為實作原生使用 UTF-8。

適用於