Hallo,
folgende Objektstruktur ist gegeben, die ich nun nach Json serialisieren möchte:
Code:
uses JSON, DBXJSON, DBXJSONReflect;
type
TAdress = Class
Name: String;
Vorname: String;
GebDat: TDate;
end;
TMyClass = class
MyVar: Integer;
MyVarStr: String;
private
FAdress: TAdress;
FMyProperty1: Integer;
FMyProperty2: String;
procedure SetMyProperty1(const Value: Integer);
procedure MyProcedure;
function MyFunction: Boolean;
procedure SetMyProperty2(const Value: String);
public
Constructor Create;
destructor destroy;
property MyProperty1: Integer read FMyProperty1 write SetMyProperty1;
property MyProperty2: String read FMyProperty2 write SetMyProperty2;
function getJson: String;
end;
Mit
Code:
function TMyClass.getJson: String;
var
LMar : TJSONMarshal;
jo :TJSONObject;
begin
LMar := TJSONMarshal.Create();
try
Result := LMar.Marshal(self).ToString; //gesamte Object
finally
LMar.Free;
end;
serialisiere ich das vollständige Objekt. Das funktioniert so weit gut.
Ich möchte jedoch nur das Objekt FAdress:TAdress serialisieren.
Mit Result := LMar.Marshal(self.FAdress).ToString; //gesamte Object komme ich hier jedoch nicht weiter. Wie lässt sich das am besten lösen?
Kann man weiterhin Records (TAdress = Record) serialisieren? Wie wäre dieses dann möglich?
Für Tipps bedanke ich mich vorab!