Я не думаю, что это сработает, я полагаю, вам нужны устройства Delphi для использования FireDacJsonreflect.
Можно сделать вывод Json себя, увидеть этот маленький пример, я использую Comany из примера DB только 3 поля в ClientDataSet, вы будете probobly сделать его немного более сложным, а также другие Структуры я думаю
Просто идея ..
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;
Это должно дать результат, как "результат"
{: [{ "Поля": [{ "Field0": "CustNo"}, { "Field1":» Company "}, {" Field2 ":" Страна "}]," record-1 ": [{" 0 ":" 1221 "}, {" 1 ":" Kauai Dive Shoppe "}, {" 2 ":" США "}]," выздоровеет й-2 ": [{" 0 ":" один тысяча двести тридцать один "}, {" 1 ":" Unisco "}, {" 2 ":" Багамы "}]," запись-3 ": [{" 0 ":" 1351 "}, {" 1 ":" Sight Diver "}, {" 2 ":" Cyprus "}]," record-4 ": [{" 0 ":" 1354 "}, {" 1 ":" Cayman Divers World Unlimited "}, {" 2 ":" Британские Вест-Индии "}]," record-5 ": [{" 0 ":" 1356 "}, {" 1 ":" Центр подводного плавания Тома Сойера "}, { «2»: «Американские Виргинские острова»}], «запись-6»: [{«0»: «1380»}, {«1»: «Центр аква Blue Jack»}, {"2": "США" }], «record-7»: [{«0»: «1384»}, {«1»: «VIP Divers Club»}, {«2»: «Виргинские острова США»}], «запись-8», : [{"0": "1510"}, {"1": "Ocean Paradise"}, {"2": "US"}], "record-9": [{"0": "1513"} , {"1": "Fantastique Aquatica"}, {"2": "Columbia"}], "record-10": [{"0": "1551"}, {"1": "Клуб Marmot Divers Club" }, {"2": "Canada"}], "record-11": [{"0": "1560"}, {"1": "The Depth Charge"}, {"2": "US" }], "record-12": [{"0": "1563"}, {"1": "Синий спорт"}, {"2": "US"}], "record-13": [{ «0»: «1624»}, {«1»: «Клуб Makai SCUBA»}, {"2": "US"}], "record-14": [{"0": "1645"}, { «1»: «Action Club»}, {«2»: «US»}], «record-15»: [{"0": "1651"}, {"1": "Центр Ямайки SCUBA"}, {"2": "Вест-Индия"}], "record-16": [{"0": "1680"}, {"1": "Island Finders"} , { "2": "США"}], "запись-17": [{ "0": "1984"}, { "1": "Приключения Undersea"}
Эй, у вас есть любой успех? У меня такая же проблема. –
Вы все еще используете XE7? Я ушел с XE7 для этого, и, возможно, самая новая версия могла бы выполнить эту работу. – Magno