Einzelnen Beitrag anzeigen

Yaso

Registriert seit: 10. Jun 2015
6 Beiträge
 
Delphi XE6 Professional
 
#1

TDictionary to JSON und zurück

  Alt 10. Jun 2015, 08:39
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?
  Mit Zitat antworten Zitat