JsonSerializer.Deserialize メソッド

定義

オーバーロード

Deserialize(ReadOnlySpan<Byte>, Type, JsonSerializerOptions)

単一の JSON 値を表す UTF-8 エンコード テキストを、指定された型のインスタンスに解析します。Parses the UTF-8 encoded text representing a single JSON value into an instance of a specified type.

Deserialize(String, Type, JsonSerializerOptions)

単一の JSON 値を表すテキストを、指定された型のインスタンスに解析します。Parses the text representing a single JSON value into an instance of a specified type.

Deserialize(Utf8JsonReader, Type, JsonSerializerOptions)

提供されたリーダーから 1 つの JSON 値 (オブジェクトまたは配列を含む) を読み取り、それを指定された型のインスタンスに変換します。Reads one JSON value (including objects or arrays) from the provided reader and converts it into an instance of a specified type.

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

単一の JSON 値を表す UTF-8 エンコード テキストを、ジェネリック型パラメーターで指定された型のインスタンスに解析します。Parses the UTF-8 encoded text representing a single JSON value into an instance of the type specified by a generic type parameter.

Deserialize<TValue>(String, JsonSerializerOptions)

単一の JSON 値を表すテキストを、ジェネリック型パラメーターで指定された型のインスタンスに解析します。Parses the text representing a single JSON value into an instance of the type specified by a generic type parameter.

Deserialize<TValue>(Utf8JsonReader, JsonSerializerOptions)

提供されたリーダーから、ジェネリック型パラメーターで指定された型のインスタンスに、1 つの JSON 値 (オブジェクトまたは配列を含む) を読み取ります。Reads one JSON value (including objects or arrays) from the provided reader into an instance of the type specified by a generic type parameter.

Deserialize(ReadOnlySpan<Byte>, Type, JsonSerializerOptions)

単一の JSON 値を表す UTF-8 エンコード テキストを、指定された型のインスタンスに解析します。Parses the UTF-8 encoded text representing a single JSON value into an instance of a specified type.

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 = null) As Object

パラメーター

utf8Json
ReadOnlySpan<Byte>

解析対象の JSON テキスト。The JSON text to parse.

returnType
Type

変換元または変換先のオブジェクトの型。The type of the object to convert to and return.

options
JsonSerializerOptions

解析中の動作を制御するオプション。Options to control the behavior during parsing.

戻り値

Object

JSON 値の returnType 表現。A returnType representation of the JSON value.

例外

returnTypenull です。returnType is null.

JSON が無効です。The JSON is invalid.

または-or-

returnType は JSON と互換性がありません。returnType is not compatible with the JSON.

または-or-

1 つの JSON 値を超えるデータがスパンに残っています。There is remaining data in the span beyond a single JSON value.

returnType またはそのシリアル化可能なメンバーに対して互換性のある JsonConverter はありません。There is no compatible JsonConverter for returnType or its serializable members.

注釈

詳細については、「 JSON をシリアル化および逆シリアル化する方法」を参照してください。For more information, see How to serialize and deserialize JSON.

Deserialize(String, Type, JsonSerializerOptions)

単一の JSON 値を表すテキストを、指定された型のインスタンスに解析します。Parses the text representing a single JSON value into an instance of a specified type.

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 = null) As Object

パラメーター

json
String

解析対象の JSON テキスト。The JSON text to parse.

returnType
Type

変換元または変換先のオブジェクトの型。The type of the object to convert to and return.

options
JsonSerializerOptions

解析中の動作を制御するオプション。Options to control the behavior during parsing.

戻り値

Object

JSON 値の returnType 表現。A returnType representation of the JSON value.

例外

json 、または returnTypenullです。json or returnType is null.

JSON が無効です。The JSON is invalid.

または-or-

TValue は JSON と互換性がありません。TValue is not compatible with the JSON.

または-or-

1 つの JSON 値を超えるデータが文字列に残っています。There is remaining data in the string beyond a single JSON value.

returnType またはそのシリアル化可能なメンバーに対して互換性のある JsonConverter はありません。There is no compatible JsonConverter for returnType or its serializable members.

注釈

実装では UTF-8 がネイティブに使用されるため、String を使用することは、UTF-8 メソッドを使用するほど効率的ではありません。Using a String is not as efficient as using the UTF-8 methods since the implementation natively uses UTF-8.

詳細については、「 JSON をシリアル化および逆シリアル化する方法」を参照してください。For more information, see How to serialize and deserialize JSON.

Deserialize(Utf8JsonReader, Type, JsonSerializerOptions)

提供されたリーダーから 1 つの JSON 値 (オブジェクトまたは配列を含む) を読み取り、それを指定された型のインスタンスに変換します。Reads one JSON value (including objects or arrays) from the provided reader and converts it into an instance of a specified type.

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 = null) As Object

パラメーター

reader
Utf8JsonReader

JSON の読み取り元のリーダー。The reader to read the JSON from.

returnType
Type

変換元または変換先のオブジェクトの型。The type of the object to convert to and return.

options
JsonSerializerOptions

読み取り中にシリアライザーの動作を制御するオプション。Options to control the serializer behavior during reading.

戻り値

Object

JSON 値の returnType 表現。A returnType representation of the JSON value.

例外

returnTypenull です。returnType is null.

JSON が無効です。The JSON is invalid.

または-or-

returnType は JSON と互換性がありません。returnType is not compatible with the JSON.

または-or-

リーダーから値を読み取ることができませんでした。A value could not be read from the reader.

reader で、サポートされていないオプションが使用されています。reader is using unsupported options.

returnType またはそのシリアル化可能なメンバーに対して互換性のある JsonConverter はありません。There is no compatible JsonConverter for returnType or its serializable members.

注釈

readerTokenType プロパティが JsonTokenType.PropertyName または JsonTokenType.Noneの場合、リーダーは、値の先頭を特定するために、Utf8JsonReader.Read() の1回の呼び出しによって高度なものになります。If the TokenType property of reader is JsonTokenType.PropertyName or JsonTokenType.None, the reader will be advanced by one call to Utf8JsonReader.Read() to determine the start of the value.

このメソッドの完了時には、JSON 値の最終トークンに reader が配置されます。Upon completion of this method, reader will be positioned at the final token in the JSON value. 例外がスローされた場合、リーダーは、メソッドが呼び出されたときの状態にリセットされます。If an exception is thrown, the reader is reset to the state it was in when the method was called.

このメソッドは、リーダーが処理したデータのコピーを作成します。したがって、このメソッドの戻り値を超えてデータの整合性を維持するための呼び出し元の要件はありません。This method makes a copy of the data the reader acted on, so there is no caller requirement to maintain data integrity beyond the return of this method.

Utf8JsonReader のインスタンスの作成に使用される JsonReaderOptions は、競合している場合に JsonSerializerOptions より優先されます。The JsonReaderOptions used to create the instance of the Utf8JsonReader take precedence over the JsonSerializerOptions when they conflict. そのため、読み取り中に JsonReaderOptions.AllowTrailingCommasJsonReaderOptions.MaxDepth、および JsonReaderOptions.CommentHandling が使用されます。Hence, JsonReaderOptions.AllowTrailingCommas, JsonReaderOptions.MaxDepth, and JsonReaderOptions.CommentHandling are used while reading.

詳細については、「 JSON をシリアル化および逆シリアル化する方法」を参照してください。For more information, see How to serialize and deserialize JSON.

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

単一の JSON 値を表す UTF-8 エンコード テキストを、ジェネリック型パラメーターで指定された型のインスタンスに解析します。Parses the UTF-8 encoded text representing a single JSON value into an instance of the type specified by a generic type parameter.

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 = null) As TValue

型パラメーター

TValue

UTF-8 でエンコードされたテキストの対象の型。The target type of the UTF-8 encoded text.

パラメーター

utf8Json
ReadOnlySpan<Byte>

解析対象の JSON テキスト。The JSON text to parse.

options
JsonSerializerOptions

解析中の動作を制御するオプション。Options to control the behavior during parsing.

戻り値

TValue

JSON 値の TValue 表現。A TValue representation of the JSON value.

例外

JSON が無効です。The JSON is invalid.

または-or-

TValue は JSON と互換性がありません。TValue is not compatible with the JSON.

または-or-

1 つの JSON 値を超えるデータがスパンに残っています。There is remaining data in the span beyond a single JSON value.

TValue またはそのシリアル化可能なメンバーに対して互換性のある JsonConverter はありません。There is no compatible JsonConverter for TValue or its serializable members.

注釈

詳細については、「 JSON をシリアル化および逆シリアル化する方法」を参照してください。For more information, see How to serialize and deserialize JSON.

Deserialize<TValue>(String, JsonSerializerOptions)

単一の JSON 値を表すテキストを、ジェネリック型パラメーターで指定された型のインスタンスに解析します。Parses the text representing a single JSON value into an instance of the type specified by a generic type parameter.

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 = null) As TValue

型パラメーター

TValue

JSON 値の対象の型。The target type of the JSON value.

パラメーター

json
String

解析対象の JSON テキスト。The JSON text to parse.

options
JsonSerializerOptions

解析中の動作を制御するオプション。Options to control the behavior during parsing.

戻り値

TValue

JSON 値の TValue 表現。A TValue representation of the JSON value.

例外

jsonnull です。json is null.

JSON が無効です。The JSON is invalid.

または-or-

TValue は JSON と互換性がありません。TValue is not compatible with the JSON.

または-or-

1 つの JSON 値を超えるデータが文字列に残っています。There is remaining data in the string beyond a single JSON value.

TValue またはそのシリアル化可能なメンバーに対して互換性のある JsonConverter はありません。There is no compatible JsonConverter for TValue or its serializable members.

注釈

実装では UTF-8 がネイティブに使用されるため、String を使用することは、UTF-8 メソッドを使用するほど効率的ではありません。Using a String is not as efficient as using the UTF-8 methods since the implementation natively uses UTF-8.

詳細については、「 JSON をシリアル化および逆シリアル化する方法」を参照してください。For more information, see How to serialize and deserialize JSON.

Deserialize<TValue>(Utf8JsonReader, JsonSerializerOptions)

提供されたリーダーから、ジェネリック型パラメーターで指定された型のインスタンスに、1 つの JSON 値 (オブジェクトまたは配列を含む) を読み取ります。Reads one JSON value (including objects or arrays) from the provided reader into an instance of the type specified by a generic type parameter.

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 = null) As TValue

型パラメーター

TValue

JSON 値の対象の型。The target type of the JSON value.

パラメーター

reader
Utf8JsonReader

JSON の読み取り元のリーダー。The reader to read the JSON from.

options
JsonSerializerOptions

読み取り中にシリアライザーの動作を制御するオプション。Options to control serializer behavior during reading.

戻り値

TValue

JSON 値の TValue 表現。A TValue representation of the JSON value.

例外

JSON が無効です。The JSON is invalid.

または-or-

TValue は JSON と互換性がありません。TValue is not compatible with the JSON.

または-or-

リーダーから値を読み取ることができませんでした。A value could not be read from the reader.

reader で、サポートされていないオプションが使用されています。reader uses unsupported options.

TValue またはそのシリアル化可能なメンバーに対して互換性のある JsonConverter はありません。There is no compatible JsonConverter for TValue or its serializable members.

注釈

readerTokenType プロパティが JsonTokenType.PropertyName または JsonTokenType.Noneの場合、リーダーは、値の先頭を特定するために、Utf8JsonReader.Read() の1回の呼び出しによって高度なものになります。If the TokenType property of reader is JsonTokenType.PropertyName or JsonTokenType.None, the reader will be advanced by one call to Utf8JsonReader.Read() to determine the start of the value.

このメソッドの完了時には、JSON 値の最終トークンに reader が配置されます。Upon completion of this method, reader will be positioned at the final token in the JSON value. 例外がスローされた場合、リーダーは、メソッドが呼び出されたときの状態にリセットされます。If an exception is thrown, the reader is reset to the state it was in when the method was called.

このメソッドは、リーダーが処理したデータのコピーを作成します。したがって、このメソッドの戻り値を超えてデータの整合性を維持するための呼び出し元の要件はありません。This method makes a copy of the data the reader acted on, so there is no caller requirement to maintain data integrity beyond the return of this method.

Utf8JsonReader のインスタンスの作成に使用される JsonReaderOptions は、競合している場合に JsonSerializerOptions より優先されます。The JsonReaderOptions used to create the instance of the Utf8JsonReader take precedence over the JsonSerializerOptions when they conflict. そのため、読み取り中に JsonReaderOptions.AllowTrailingCommasJsonReaderOptions.MaxDepth、および JsonReaderOptions.CommentHandling が使用されます。Hence, JsonReaderOptions.AllowTrailingCommas, JsonReaderOptions.MaxDepth, and JsonReaderOptions.CommentHandling are used while reading.

詳細については、「 JSON をシリアル化および逆シリアル化する方法」を参照してください。For more information, see How to serialize and deserialize JSON.

適用対象