firedac数据集数据序列为JSON

firedac数据集数据序列为JSON

FIREDAC数据库引擎充分地考虑了跨平台和跨语言的支持。

因此,FIREDAC数据集可以序列为BIN\XML\JSON,三种格式。

firedac数据集数据序列为JSON字符串:

1
2
3
4
5
6
7
procedure TForm1.Button1Click(Sender: TObject);
begin
  var ss: TStringStream := TStringStream.Create('', TEncoding.UTF8);
  FDQuery1.SaveToStream(ss, sfJSON);
  Memo1.Text := ss.DataString;
  ss.Free;
end;

  

数据集序列后的JSON字符串:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
    "FDBS":
    {"Version":15,
        "Manager":
        {"UpdatesRegistry":true,
            "TableList":
            [
                {"class":"Table","Name":"FDQuery1","SourceName":"tunit","SourceID":1,"TabID":0,"EnforceConstraints":false,"MinimumCapacity":50,
                "ColumnList":
                [
                    {"class":"Column","Name":"unitid","SourceName":"unitid","SourceID":1,"DataType":"AnsiString","Size":4,"Searchable":true,"Base":true,"OInUpdate":true,"OInWhere":true,"OInKey":true,"OriginColName":"unitid","SourcePrecision":4,"SourceSize":4
                    },
                    {"class":"Column","Name":"unitname","SourceName":"unitname","SourceID":2,"DataType":"AnsiString","Size":6,"Searchable":true,"AllowNull":true,"Base":true,"OAllowNull":true,"OInUpdate":true,"OInWhere":true,"OriginColName":"unitname","SourcePrecision":6,"SourceSize":6
                    }
                ],"ConstraintList":[],"ViewList":[],
                    "RowList":
                    [{"RowID":0,"Original":{"unitid":"11","unitname":"个"}},{"RowID":1,"Original":{"unitid":"12","unitname":"双"}}
                    ]
                }
            ],"RelationList":[],"UpdatesJournal":{"Changes":[]}
        }
    }
}

  

  如上的JSON数据,其他开发语言当然是能解析并还原出数据的。

posted @   delphi中间件  阅读(676)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2017-03-31 ubuntu允许mysql远程连接
2016-03-31 咏南中间件集群
点击右上角即可分享
微信分享提示