AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi JSON-Objekt aus Datasnap-Server mit JavaScript weiter verarbeiten.
Thema durchsuchen
Ansicht
Themen-Optionen

JSON-Objekt aus Datasnap-Server mit JavaScript weiter verarbeiten.

Ein Thema von TiGü · begonnen am 9. Mai 2016 · letzter Beitrag vom 10. Mai 2016
 
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.062 Beiträge
 
Delphi 10.4 Sydney
 
#1

JSON-Objekt aus Datasnap-Server mit JavaScript weiter verarbeiten.

  Alt 9. Mai 2016, 15:31
Hallo Gemeinde,

ich habe einen Datasnap-Server mit diesen WebMethods-Datenmodul.
Ich möchte Daten von dem Server abholen und per HTML-Seite zur Anzeige bringen.

Gegen sei diese Datenstruktur:

Delphi-Quellcode:
  TDeviceInfo = class
  public
    SerialNumber: Integer;
    Name: string;
    Data: string;
  end;

  TDeviceInfoContainer = class
    Devices: TArray<TDeviceInfo>;
  end;

  TDeviceInfoList = TObjectList<TDeviceInfo>;
Das Erzeugen des JSON-Strings geschieht so:

Delphi-Quellcode:
function TDeviceListener.GetDeviceInfoList: string;
var
  DeviceInfo: TDeviceInfo;
  DeviceInfoList: TDeviceInfoList;
  DeviceInfoContainer: TDeviceInfoContainer;
  Item: TPair<Integer, string>;
begin
  DeviceInfoList := TDeviceInfoList.Create;
  try
    for Item in FDeviceDictionary do
    begin
      DeviceInfo := TDeviceInfo.Create;

      DeviceInfo.SerialNumber := Item.Key;
      DeviceInfo.Name := Item.Value;
      DeviceInfo.Data := FDataList.GetViewData(DeviceInfo.SerialNumber);

      DeviceInfoList.Add(DeviceInfo)
    end;

    DeviceInfoContainer := TDeviceInfoContainer.Create;
    try
      DeviceInfoContainer.Devices := DeviceInfoList.ToArray;
      Result := TJson.ObjectToJsonString(DeviceInfoContainer);
    finally
      DeviceInfoContainer.Free;
    end;
  finally
    DeviceInfoList.Free;
  end;
end;
Das Result sieht dann als Delphi-String so aus:
Delphi-Quellcode:
'{
   "devices": [{
      "serialNumber": 12345,
      "name": "Station 1",
      "data": ""
   }, {
      "serialNumber": 54321,
      "name": "Gerät 1",
      "data": "09.05. 13:55:18 Logeintrag 1\r\n09.05. 13:55:18 ISO\r\n09.05. 13:55:18 Logeintrag 2\r\n09.05. 13:55:18 Logeintrag 3\r\n09.05. 13:55:18 Logeintrag 4 \r\n09.05. 13:55:18 Logeintrag 5\r\n"
   }]
}
'
Das scheint auch ein valides JSON zu sein.

Mein Problem ist jetzt, wie ich das auf der Javascript-Seite auseinander gefummelt kriege. Ich bin da etwas unbefleckt und habe gerade gar keinen Ansatz.
Code:
// Javascript:
var devicesObject = serverMethods().GetDeviceInfo();
Laut Console des Chrome steht auch das richtige drin und es wird als Object interpretiert (siehe Bildanhang).
Ich habe aber irgendwie keinen Ansatz, wie ich an die einzelnen Elemente des Arrays kommen soll, geschweige denn an die einzelnen Werte serialNumber, name oder data.
Das Javascript-object selber bietet mir nur result als Eigenschaft.

Weiß jemand Rat?
Angehängte Grafiken
Dateityp: png Javascript.png (25,1 KB, 11x aufgerufen)
  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 11:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz