Einzelnen Beitrag anzeigen

Ralle1

Registriert seit: 2. Nov 2011
49 Beiträge
 
Delphi XE3 Professional
 
#1

Deserialisierung eines Json-Strings

  Alt 16. Okt 2014, 15:15
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;
  Mit Zitat antworten Zitat