Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.009 Beiträge
 
Delphi 12 Athens
 
#9

AW: TDictionary speichern

  Alt 25. Feb 2019, 14:10
Fertig gibt es da wohl noch nichts, aber man kann das mit überschaubarem Aufwand selbst machen:
Delphi-Quellcode:
procedure Test;
type
  TDict = TDictionary<string,string>;
  TDictPair = TPair<string,string>;
  TDictArray = TArray<TDictPair>;
var
  arr: TDictArray;
  dict: TDict;
  pair: TDictPair;
  theJSONString: string;
  ser: TJsonSerializer;
begin
  dict := TDict.Create;
  try
    dict.Add('Hallo', 'Welt');
    dict.Add('RAD', 'Studio');
    arr := dict.ToArray;
    ser := TJsonSerializer.Create;
    try
      theJSONString := ser.Serialize(arr);
    finally
      ser.Free;
    end;
  finally
    dict.Free;
  end;

  ser := TJsonSerializer.Create;
  try
    arr := ser.Deserialize<TDictArray>(theJSONString);
  finally
    ser.Free;
  end;
  dict := TDict.Create;
  try
    for pair in arr do begin
      dict.Add(pair.Key, pair.Value);
    end;

    Assert(dict['Hallo'] = 'Welt');
    Assert(dict['RAD'] = 'Studio');
  finally
    dict.Free;
  end;
end;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat