Advertisement
Guest User

how Delphi » Banco de Dados, Miscelânea » Como converter Jso

a guest
Aug 16th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 2.21 KB | None | 0 0
  1. uses
  2.   REST.Response.Adapter, System.JSON;
  3.  
  4. procedure JsonToDataset(aDataset : TDataSet; aJSON : string);
  5. var
  6.   JObj: TJSONArray;
  7.   vConv : TCustomJSONDataSetAdapter;
  8. begin
  9.   if (aJSON = EmptyStr) then
  10.   begin
  11.     Exit;
  12.   end;
  13.  
  14.   JObj := TJSONObject.ParseJSONValue(aJSON) as TJSONArray;
  15.   vConv := TCustomJSONDataSetAdapter.Create(Nil);
  16.  
  17.   try
  18.     vConv.Dataset := aDataset;
  19.     vConv.UpdateDataSet(JObj);
  20.   finally
  21.     vConv.Free;
  22.     JObj.Free;
  23.   end;
  24. end;
  25. //*****************************************************************************************************
  26. unit Unit1;
  27.  
  28. interface
  29.  
  30. uses
  31.   Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  32.   Vcl.Controls, Vcl.Forms, Vcl.Dialogs, FireDAC.Stan.Intf, FireDAC.Stan.Option,
  33.   FireDAC.Stan.Param, FireDAC.Stan.Error, FireDAC.DatS, FireDAC.Phys.Intf,
  34.   FireDAC.DApt.Intf, Vcl.StdCtrls, Data.DB, FireDAC.Comp.DataSet,
  35.   FireDAC.Comp.Client, Vcl.Grids, Vcl.DBGrids, Datasnap.DBClient;
  36.  
  37. type
  38.   TForm1 = class(TForm)
  39.     DBGrid1: TDBGrid;
  40.     DataSource1: TDataSource;
  41.     DBGrid2: TDBGrid;
  42.     DataSource2: TDataSource;
  43.     FDMemTable1: TFDMemTable;
  44.     Button1: TButton;
  45.     ClientDataSet1: TClientDataSet;
  46.     procedure Button1Click(Sender: TObject);
  47.   private
  48.     { Private declarations }
  49.   public
  50.     { Public declarations }
  51.   end;
  52.  
  53. var
  54.   Form1: TForm1;
  55.  
  56. implementation
  57.  
  58. {$R *.dfm}
  59.  
  60. uses
  61.   REST.Response.Adapter, System.JSON;
  62.  
  63. procedure JsonToDataset(aDataset : TDataSet; aJSON : string);
  64. var
  65.   JObj: TJSONArray;
  66.   vConv : TCustomJSONDataSetAdapter;
  67. begin
  68.   if (aJSON = EmptyStr) then
  69.   begin
  70.     Exit;
  71.   end;
  72.  
  73.   JObj := TJSONObject.ParseJSONValue(aJSON) as TJSONArray;
  74.   vConv := TCustomJSONDataSetAdapter.Create(Nil);
  75.  
  76.   try
  77.     vConv.Dataset := aDataset;
  78.     vConv.UpdateDataSet(JObj);
  79.   finally
  80.     vConv.Free;
  81.     JObj.Free;
  82.   end;
  83. end;
  84.  
  85. procedure TForm1.Button1Click(Sender: TObject);
  86. const
  87.   MEU_JSON =
  88.   '[{'+
  89.     '"Titulo": "Ate que a sorte nos separe",'+
  90.     '"duracao": "120 min"'+
  91.   '}, {'+
  92.     '"Titulo": "Matrix",'+
  93.     '"duracao": "140 min"'+
  94.   '}]';
  95. begin
  96.   JsonToDataset(FDMemTable1, MEU_JSON);
  97.   JsonToDataset(ClientDataSet1, MEU_JSON);
  98. end;
  99.  
  100. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement