Hallo Uwe,
ich verwende aus einem andere Thread deine zwei Methoden um ein FDDataSet als JSON zu exportieren.
Sorgen macht mir deine Aussage dass in späteren Version das JSON? String nicht kompatibel sein könnte
allerdings war hier die Rede vom binary Format. In meinem Fall werden die JSON String in eine
DB als Text
abgelegt. Der Anwender kann irgendwann auch nach einem Jahr das Paket anfordern. Dabei wird der JSON Text
in eine FDMemTable geschrieben und verarbeitet.
Weil es wichtig ist, wie wahrscheinlich könnte es sein dass der gespeicherte JSON Text nicht in eine FDMemTable
geschrieben werden kann?
Delphi-Quellcode:
function DataSetToJSON(Source: TFDDataSet): string;
var
stream: TStringStream;
begin
stream := TStringStream.Create;
try
Source.Open;
Source.FetchAll;
Source.SaveToStream(stream, TFDStorageFormat.sfJSON);
result := stream.DataString;
finally
stream.Free;
end;
end;
procedure JSONToDataSet(const Source: string; Target: TFDDataSet);
var
stream: TStringStream;
begin
stream := TStringStream.Create(Source);
try
Target.LoadFromStream(stream, TFDStorageFormat.sfJSON);
finally
stream.Free;
end;
end;
Gruß Kostas