Data.DBXJSONReflect.TJSONUnMarshal
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 とジェネリックを一緒に使用する場合には、十分な注意が必要です。