TDatasetToJSONBridge

TDatasetToJSONBridge
uses data.dbjson
此单元不知始于delphi哪个版本。
procedure TForm1.Button1Click(Sender: TObject);
begin
  var b: TDatasetToJSONBridge := TDatasetToJSONBridge.Create;
  b.Dataset := FDMemTable1;
  var jo: TJSONObject := TJSONObject(b.Produce);
  Memo1.Text := jo.ToString;
  memo1.Lines.Add(b.FieldNames.Text);
  b.Free;

  FDMemTable2.close;
  FDMemTable2.FieldDefs.Assign(FDMemTable1.FieldDefs);
  FDMemTable2.CreateDataSet;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  var b: TJSONToDataSetBridge := TJSONToDataSetBridge.Create(nil);
  b.Dataset := FDMemTable2;
  b.Append(TJSONObject.ParseJSONValue(memo1.Text));
  b.Free;
end;

 

procedure json2dataset(const json: string; dataset: TDataSet);
var
  bridge: TJSONToDataSetBridge;
begin
  bridge := TJSONToDataSetBridge.Create(nil);
  try
    bridge.dataset := dataset;  //dataset must be active
    bridge.Append(TJSONObject.ParseJSONValue(json));
  finally
    bridge.Free;
  end;
end;

function dataset2json(const dataset: TDataSet): string;
var
  bridge: TDatasetToJSONBridge;
  jo: TJSONObject;
begin
  bridge := TDatasetToJSONBridge.Create;
  try
    bridge.dataset := dataset;
    jo := TJSONObject(bridge.Produce);
    Result := jo.ToString;
  finally
    bridge.Free;
  end;
end;

 

posted @ 2025-03-23 11:56  delphi中间件  阅读(53)  评论(0)    收藏  举报