Delphi DataSet和JSON互转函数
来源:互联网 发布:盛科网络年终奖 编辑:程序博客网 时间:2024/06/16 22:01
一、DataSet转JSON
[delphi] view plain copy print?
//1)数据集转换为JSON字符串:
//需USES System.JSON;
function DataSetToJson(ADataset: TDataSet): string;
// [{“CityId”:”18”,”CityName”:”西安”},{“CityId”:”53”,”CityName”:”广州”}]
var
LRecord: string;
LField: TField;
i: integer;
begin
Result := ”;
if (not ADataset.Active) or (ADataset.IsEmpty) then
Exit;
Result := ‘[‘;
ADataset.DisableControls;
ADataset.First;
while not ADataset.Eof do
begin
for i := 0 to ADataset.FieldCount - 1 do
begin
LField := ADataset.Fields[i];
if LRecord = ” then
LRecord := ‘{“’ + LField.FieldName + ‘”:”’ + LField.Text + ‘”’
else
LRecord := LRecord + ‘,”’ + LField.FieldName + ‘”:”’ + LField.Text + ‘”’;
if i = ADataset.FieldCount - 1 then
begin
LRecord := LRecord + ‘}’;
if Result = ‘[’ then
Result := Result + LRecord
else
Result := Result + ‘,’ + LRecord;
LRecord := ”;
end;
end;
ADataset.Next;
end;
ADataset.EnableControls;
Result := Result + ‘]’;
end;
二、JSON转DataSet
[delphi] view plain copy print?
//2)JSON字符串转换为数据集:
procedure JsonToDataSet(AJson: string; ADataset: TDataSet);
var
jDataSet: TJSONArray;
jRecord: TJSONObject;
i, j: Integer;
begin
if (AJson = ”) or (ADataset = nil) or (not ADataset.Active) then
Exit;
jDataSet := TJSONObject.Create.ParseJSONValue(AJson, True) as TJSONArray;
while not ADataset.Eof do
ADataset.Delete;
for i := 0 to jDataSet.Size - 1 do
begin
ADataset.Append;
jRecord := jDataSet.Get(i) as TJSONObject;
for j := 0 to ADataset.FieldCount - 1 do
ADataset.Fields[j].Text := jRecord.GetValue(ADataset.Fields[j].FieldName).ToString;
ADataset.Post;
end;
end;
- Delphi DataSet和JSON互转函数
- Delphi DataSet和JSON互转函数
- Delphi DataSet和JSON互转函数
- Delphi DataSet和JSON互转函数
- JSON和DataSet互转
- C#中DataTable、Dataset转Json和Json转DataTable
- DataSet 转Json
- JsonHelper Json转xml,Json转DataSet,DataSet转Json
- JsonHelper Json转xml,Json转DataSet,DataSet转Json
- Json.Net--Serialize a DataSet和Deserialize a DataSet
- C# DataTable转json,DataSet转json
- Delphi中DataSet类型组件的Locate函数的用法
- Delphi中DataSet类型组件的Locate函数的用法
- Delphi十进制和十六进制互转 Delphi 自带函数 IntToHex
- JsonHelper(datatale或dataset转json)
- Delphi函数和过程
- Delphi--过程和函数
- Delphi DataSet Error
- RSpec测试
- CC13X0CC26X0EvaluationBoard
- 使用Spring Boot创建微服务
- 常见Dos攻击原理及防护(死亡之Ping、Smurf、Teardown、LandAttack、SYN Flood)
- Mysql免安装版配置
- Delphi DataSet和JSON互转函数
- 专访丨大咖传教之App性能测试
- centos7 SVN
- Android 外部存储external storage和内部存储internal storage
- solr查询q的相关知识
- minikube的简单命令
- 终端执行sudo apt-get install报错
- auto 与decltype 两种类型推断
- 从FragmentPagerAdapter看Fragment 生命周期