AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

JSON in DataSet

Ein Thema von Ykcim · begonnen am 31. Okt 2019 · letzter Beitrag vom 31. Okt 2019
 
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
856 Beiträge
 
Delphi 12 Athens
 
#1

JSON in DataSet

  Alt 31. Okt 2019, 14:15
Hallo Zusammen,

ich versuche gerade meine erste Client - Server Application zu erstellen. Ich nutze dazu xData von TMS und komme auch schon recht weit.

Ich habe einen Server erstellt, der die Abfragen ausführt. Er liefert als Ergebnis einen JSON-Stream zurück. Query_Main.SaveToStream(AStream, sfJSON);
In der VCL-Umgebung kann ich diesen Stream in eine TFDMemTable einlesen Table_Abteilung.LoadFromStream(LStream, sfJSON); und dann mit einem DataSource zur Verfügung stellen. Das klappt auch sehr gut.
Für eine WEB_Aplication müsste ich das Ganze in ein DataSet versuchen zu bringen. Und dabei scheiter ich leider.

Delphi-Quellcode:
procedure TFrmMain.btnAbteilungClick(Sender: TObject);
   procedure OnResponse(Response: TXDataClientResponse);
   begin
      XDS_Abteilung.SetJsonData(TJSArray(TJSObject(Response.Result)['value']));
      XDS_Abteilung.Open;
   end;
begin
   XMyClient.RawInvoke('IData_xChangeService.Get_Abteilung',[], @OnResponse);
end;
Angeblich müsste es so funktionieren. Aber der Wert 'value' liefert null zurück. Ich muss wahrscheinlich einen anderen angeben. Trotz großer Mühe und Suche finde ich nicht heraus, wie der Pfad aussehen muss.

Hier der JSON-Stream:
Code:
{"FDBS":
   {"Version":15,"Manager":
      {"UpdatesRegistry":true,"TableList":[
         {"class":"Table","Name":"Query_Main","SourceName":"abteilung","SourceID":1,"TabID":0,"EnforceConstraints":false,"MinimumCapacity":50,"ColumnList":[
            {"class":"Column","Name":"AbteilungsID","SourceName":"AbteilungsID","SourceID":1,"DataType":"UInt32","Precision":10,"Searchable":true,"AllowNull":true,"AutoInc":true,"Base":true,"AutoIncrementSeed":-1,"AutoIncrementStep":-1,"OAllowNull":true,"OInWhere":true,"OInKey":true,"OAfterInsChanged":true,"OriginTabName":"nedcom2.abteilung","OriginColName":"AbteilungsID","SourcePrecision":10},
            {"class":"Column","Name":"Abteilung","SourceName":"Abteilung","SourceID":2,"DataType":"AnsiString","Size":45,"Searchable":true,"AllowNull":true,"Default":true,"Base":true,"OAllowNull":true,"OInUpdate":true,"OInWhere":true,"OAfterInsChanged":true,"OriginTabName":"nedcom2.abteilung","OriginColName":"Abteilung","SourceSize":45},
            {"class":"Column","Name":"Test","SourceName":"Test","SourceID":3,"DataType":"AnsiString","Size":45,"Searchable":true,"AllowNull":true,"Default":true,"Base":true,"OAllowNull":true,"OInUpdate":true,"OInWhere":true,"OAfterInsChanged":true,"OriginTabName":"nedcom2.abteilung","OriginColName":"Test","SourceSize":45}],
         "ConstraintList":[],"ViewList":[],"RowList":[
            {"RowID":0,"Original":
               {"AbteilungsID":10,"Abteilung":"Verkauf","Test":"0"}
            },
            {"RowID":1,"Original":
               {"AbteilungsID":20,
                "Abteilung":"Anwendung & Entwicklung",
                "Test":"0"}
            },
            {"RowID":2,"Original":
               {"AbteilungsID":30,
                "Abteilung":"Technische Büro",
                "Test":"0"}
            },
            {"RowID":3,"Original":
               {"AbteilungsID":40,
                "Abteilung":"Arbeitsvorbereitung",
                "Test":"0"}
            },
            {"RowID":4,"Original":
               {"AbteilungsID":50,
                "Abteilung":"Produktion",
                "Test":"0"}
            }]
         }],
      "RelationList":[]}
   }
}
Kann mir irgendjemand einen Schups geben? Entweder das ich den Pfad erkennen kann oder wie man den Stream anderweitig in ein DataSet bekommt?

Vielen Dank
Patrick
Patrick
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz