Hallo!
Ich bin auf der Suche nach einer eleganten Lösung, wie ich beliebige Json-Strings in Klassen deserialisieren kann. Unten ein Beispiel, wie ich es z.Z. löse. Leider muss dann jede Klasse die FillFromJson Methode haben. Gibt es nicht via Spring4D Möglichkeiten, das zu automatisieren?
Delphi-Quellcode:
type
TRequest = class
Code : integer;
Message : string;
procedure FillFromJson(Json: string);
end;
procedure TRequest.FillFromJson(Json: string);
var
JsonObject : TlkJSONObject;
begin
if Json='' then exit;
JsonObject := TlkJSON.ParseText(Json) as TlkJSONobject;
if not Assigned(JsonObject) then exit;
try
Code := StrToIntDef(GetFieldValueAsString('Code'), 0);
Message := GetFieldValueAsString('Message');
finally
JsonObject.Free;
end;
end;