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;