Hallo zusammen
Ich experimentiere gerade mit REST.JSON und das funktioniert ziemlich gut, aber hier habe ich ein Problem:
Ich möchte ein TDictionary<string,TEintragClass> in ein JSON String und zurück umwandeln. Das zurück geht aber leider noch nicht, da bringt er mir eine
Exception:
Intern: Typ
System.Generics.Collections.TDictionary<...> kann nicht instantiiert werden.
Folgendes habe ich gemacht:
Delphi-Quellcode:
TEintragClass = class
private
FOriginalFilename: string;
FLastModified: TDateTime;
FAnzahl: Integer;
FStrings: TStringList;
end;
procedure TForm8.Button1Click(Sender: TObject);
var
Dict : TDictionary<string, TEintragClass>;
Eintrag: TEintragClass;
Liste: TStringList;
begin
Liste := TStringList.Create();
Eintrag := TEintragClass.Create();
Dict := TDictionary<string,TEintragClass>.Create;
Liste.Add('File1');
Liste.Add('File2');
Eintrag.FOriginalFilename := 'abc';
Eintrag.FLastModified := Now();
Eintrag.FAnzahl := 3;
Eintrag.FStrings := Liste;
Dict.Add('asd',Eintrag);
Dict.Add('asd2',Eintrag);
Memo1.Lines.Text := TJson.ObjectToJsonString(Dict);
Dict.Free;
Eintrag.Free;
Liste.Free;
end;
procedure TForm8.Button2Click(Sender: TObject);
var
Dict2 : TDictionary<string, TEintragClass>;
begin
Dict2 := TJson.JsonToObject<TDictionary<string, TEintragClass>>(Memo1.Lines.Text); // Da knallts
Dict2.Free;
end;
Was habe ich übersehen?