Data.DBXJSONReflect.TJSONUnMarshal

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Data.DBXJSONReflect.TMarshalUnmarshalBaseSystem.TObjectTJSONUnMarshal

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.

Siehe auch