Data.DBXJSONReflect.TJSONUnMarshal
Delphi
TJSONUnMarshal = class(TMarshalUnmarshalBase)
C++
class PASCALIMPLEMENTATION TJSONUnMarshal : public TMarshalUnmarshalBase
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
class | public | Data.DBXJSONReflect.pas Data.DBXJSONReflect.hpp |
Data.DBXJSONReflect | Data.DBXJSONReflect |
Beschreibung
Repräsentiert die Unmarshalling-Klasse für JSON-Objekte.
Die Konvertierung in ein serialisierbares Objekt wird als Marshalling bezeichnet. Der umgekehrte Vorgang wird Unmarshalling genannt. Das Unmarshalling ist einfacher und verwendet zum Neubilden des Benutzerobjekts Laufzeit-Typinformationen (RTTI).
TJSONUnMarshal setzt den TJSONValue-Wert zurück auf ein Benutzerobjekt. TJSONUnMarshal stellt mittels eines von einer TConverter-Instanz erstellten JSON-Abbildes das Benutzerobjekt wieder her. Es wird angenommen, dass das Benutzerobjekt einen Konstruktor ohne Argumente hat.
Des Weiteren wird davon ausgegangen, dass das JSON-Objekt von einer TJSONMarshal-Instanz erstellt wurde und dass geeignete Reverter mit der Instanz definiert sind. Das Unmarshalling von Record-Typen ist auch möglich.
Hinweis: TJSONUnMarshal stützt sich auf Laufzeit-Typinformationen (RTTI), daher sollten Sie sich darüber im Klaren sein, dass Laufzeit-Typinformationen nicht für generische Methoden generiert werden. Nur für instantiierte Typen werden Laufzeit-Typinformationen erzeugt. Ein instantiierter Typ ist die Kombination eines generischen Typs mit einer Reihe von Parametern. Gehen Sie deshalb bei der Verwendung von TJSONUnMarshal und Generics äußerst sorgfältig vor.