Data.DBXJSONReflect.TJSONUnMarshal

提供: RAD Studio API Documentation
移動先: 案内検索

Data.DBXJSONReflect.TMarshalUnmarshalBaseSystem.TObjectTJSONUnMarshal

Delphi

TJSONUnMarshal = class(TMarshalUnmarshalBase)

C++

class PASCALIMPLEMENTATION TJSONUnMarshal : public TMarshalUnmarshalBase

プロパティ

種類 可視性 ソース ユニット
class public
Data.DBXJSONReflect.pas
Data.DBXJSONReflect.hpp
Data.DBXJSONReflect Data.DBXJSONReflect


説明

JSON オブジェクトのアンマーシャリング クラスを表します。

シリアル化可能なオブジェクトへの変換のことをマーシャリングといいます。 その逆の処理をアンマーシャリングといいます。 アンマーシャリング処理の方が簡単で、RTTI を使用してユーザー オブジェクトを復元することができます。

TJSONUnMarshal は、TJSONValue をユーザー オブジェクトに戻します。 TJSONUnMarshal では、TConverter インスタンスが作成した JSON イメージを使って、ユーザー オブジェクトを復元します。 ユーザー オブジェクトが引数のないコンストラクタを持っていることが前提です。

JSON オブジェクトが TJSONMarshal のインスタンスで作成されたものであり、そのインスタンスに適切な復元機能が定義されていることが前提となります。 レコード型のアンマーシャリングも可能です。

メモ:TJSONUnMarshal は実行時型情報(RTTI)に依存しているため、ジェネリック メソッドについては RTTI が生成されないことを知っておく必要があります。 RTTI が生成されるのはインスタンス化された型のみです。 インスタンス化された型とは、ジェネリックと一連のパラメータが組み合わさったものです。 そのため、TJSONUnMarshal とジェネリックを一緒に使用する場合には、十分な注意が必要です。

関連項目