DataSet Serialize


DataSet Serialize

用於Delphi和Lazarus (FPC)的JSON到數據集和數據集到JSON轉換器

源碼下載地址:https://github.com/viniciussanchez/dataset-serialize

uses DataSet.Serialize;
數據集序列為json
var
  LJSONArray: TJSONArray;
  LJSONObject: TJSONObject;  
begin
  LJSONObject := qrySamples.ToJSONObject(); // 導出單個記錄
  LJSONArray := qrySamples.ToJSONArray(); // 導出所有記錄 
end; 

  保存和加載數據集的結構

var
  LJSONArray: TJSONArray;
begin
  LJSONArray := qrySamples.SaveStructure;
  qrySamples.LoadStructure(LJSONArray, True);
end;

  驗證json

begin
  LJSONArray := qrySamples.ValidateJSON('{"country":"Brazil"}');
end;

  從json加載

begin
  qrySamples.LoadFromJSON('{"firstName":"Vinicius Sanchez","country":"Brazil"}');
end;

  從JSON修改記錄

begin
  qrySamples.MergeFromJSONObject('{"firstName":"Vinicius","country":"United States"}');
end;

  配置

  • 日期輸入為UTC(時區)
TDataSetSerializeConfig.GetInstance.DateInputIsUTC := True;
  • 導出空值
  TDataSetSerializeConfig.GetInstance.export.ExportNullValues := True;
  • 僅導出可見字段
  TDataSetSerializeConfig.GetInstance.export.ExportOnlyFieldsVisible := True;
  • 將子數據集導出為 JSON 對象(當您只有 1 條記錄時)
  TDataSetSerializeConfig.GetInstance.export.ExportChildDataSetAsJsonObject := False;
  • 僅導入可見的字段
  TDataSetSerializeConfig.GetInstance.import.ImportOnlyFieldsVisible := True;
  • 案例名稱定義
// cndNone, cndLower, cndUpper, cndLowerCamelCase, cndUpperCamelCase TDataSetSerializeConfig.GetInstance.CaseNameDefinition := cndLowerCamelCase;   cndNone: [ { "MOB_ICADASTRO":11795,"MOB_EMI_REG":6,"CODIGODOCLIENTE":1,"CDOCUMEN1":"999999" } ]  cndLower: [ { "mob_icadastro":11795,"mob_emi_"cododig6": :1,"cdocumen1":"999999" } ]  cndUpper: [ { "MOB_ICADASTRO":11795,"MOB_EMI_REG":6,"CODIGODOCLIENTE":1,"CDOCUMEN1":"999999" } ]  cndLowerCamelCase"mobIcadastro":11795,"mobEmiReg":6,"codigodocliente":1,"cdocumen1":"999999" } ]   cndUpperCamelCase::  [ { "MobIcadastro":11795,"MobEmiReg":6,"Codigodocliente":1 "Cdocumen1":"999999" } ] 

  • 格式日期(導出字段類型等於 ftDate)
  TDataSetSerializeConfig.GetInstance.export.FormatDate := ' YYYY-MM-DD ' ;
  • 格式貨幣(導出字段類型等於 ftCurrency)
  TDataSetSerializeConfig.GetInstance.export.FormatCurrency := ' 0.00## ' ;
  • 定義數據集前綴
  TDataSetSerializeConfig.GetInstance.DataSetPrefix := [ ' mt ' , ' qry ' ];


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM