我认为它不会起作用,我假设您需要 Delphi 单元才能使用 FireDacJsonreflect。
您可以自己制作 Json 输出,请参阅这个小示例,我使用示例 DB 中的 comany 仅在 clientdataset 中的 3 个字段,您可能会使它更复杂一点,我猜还有另一个结构
只是一个想法..
function TServerMethods1.JsonDB: TJSONObject; // Hold the array
var
i : Integer;
JsonArray: TJSONArray;
record_number : Integer;
begin
result:=TJSONObject.Create;
// Field names
JsonArray:=TJSONArray.Create;
ClientDataSet1.First;
for i := 0 to ClientDataSet1.Fields.Count-1 do
Begin
JsonArray.AddElement(TJSONObject.Create(TJSONPair.Create('Field'+I.ToString ,ClientDataSet1.Fields[i].FieldName)));
End;
Result.AddPair('Fields',JsonArray);
//Data
record_number:=0;
while not ClientDataSet1.Eof do
Begin
inc(record_number);
JsonArray:=TJSONArray.Create;
for i := 0 to ClientDataSet1.Fields.Count-1 do
Begin
JsonArray.AddElement(TJSONObject.Create(TJSONPair.Create(I.ToString,ClientD ataSet1.Fields[i].Asstring)));
End;
Result.AddPair('record-'+record_number.ToString,JsonArray);
ClientDataSet1.Next;
End;
end;
这应该给出类似的结果
{"result":[{"Fields":[{"Field0":"CustNo"},{"Field1":"Company"},{"Field2":"Country"}],"record-1 ":[{"0":"1221"},{"1":"可爱岛潜水专卖店"},{"2":"美国"}],"record-2":[{"0":"1231 "},{"1":"Unisco"},{"2":"巴哈马"}],"record-3":[{"0":"1351"},{"1":"Sight Diver" },{"2":"Cyprus"}],"record-4":[{"0":"1354"},{"1":"Cayman Divers World Unlimited"},{"2":"英国西印度群岛"}],"record-5":[{"0":"1356"},{"1":"汤姆索亚潜水中心"},{"2":"美属维尔京群岛"}]," record-6":[{"0":"1380"},{"1":"Blue Jack Aqua 中心"},{"2":"US"}],"record-7":[{"0 ":"1384"},{"1":"VIP 潜水俱乐部"},{"2":"美属维尔京群岛"}],"record-8":[{"0":"1510"},{ "1":"海洋天堂"},{"2":"US"}],"record-9":[{"0":"1513"},{"1":"Fantastique Aquatica"},{ "2":"哥伦比亚"}],"record-10":[{"0":"1551"},{"1":"旱獭潜水俱乐部"},{"2":"加拿大"}], "record-11":[{"0":"1560"},{"1":"The Depth Charge"},{"2":"US"}],"record-12":[{"0 ":"1563"},{"1":"Blue Sports"},{"2":"US"}],"record-13":[{"0":"1624"},{"1" :"魔界潜水俱乐部"},{"2":"US"}],"record-14":[{"0":"1645"}, {"1":"Action Club"},{"2":"US"}],"record-15":[{"0":"1651"},{"1":"牙买加潜水中心"} ,{"2":"西印度群岛"}],"record-16":[{"0":"1680"},{"1":"Island Finders"},{"2":"US"} ],"record-17":[{"0":"1984"},{"1":"海底探险"}