DataSet Serialize
DataSet Serialize
用于Delphi和Lazarus (FPC)的JSON到数据集和数据集到JSON转换器
源码下载地址:https://github.com/viniciussanchez/dataset-serialize
uses DataSet.Serialize;
数据集序列为json
1 2 3 4 5 6 7 | var LJSONArray: TJSONArray; LJSONObject: TJSONObject; begin LJSONObject := qrySamples.ToJSONObject(); // 导出单个记录 LJSONArray := qrySamples.ToJSONArray(); // 导出所有记录 end; |
保存和加载数据集的结构
1 2 3 4 5 6 | var LJSONArray: TJSONArray; begin LJSONArray := qrySamples.SaveStructure; qrySamples.LoadStructure(LJSONArray, True); end; |
验证json
1 2 3 | begin LJSONArray := qrySamples.ValidateJSON( '{"country":"Brazil"}' ); end; |
从json加载
1 2 3 | begin qrySamples.LoadFromJSON( '{"firstName":"Vinicius Sanchez","country":"Brazil"}' ); end; |
从JSON修改记录
1 2 3 | 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 ' ];
本文来自博客园,作者:{咏南中间件},转载请注明原文链接:https://www.cnblogs.com/hnxxcxg/p/15138564.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2020-08-13 cross socket tcp client demo
2017-08-13 购买咏南中间件