NEWS
[gelöst]JSON.parse Problem mit WienerLinien Daten
-
Ich habe nun folgendes Problem. Die Wiener Linien stellen mit einem Aufruf (z.B. Abfahrtsdaten77A-Lusthaus JSON Daten für den Abfahrtsmonitor zur Verfügung.
Sind also die Rohdaten.
mit folgendem Code
komme ich nur bis: Array nicht angelegt!
Da klappt das parsen wohl nicht.
Im Adapter habe ich wie folgt eingestellt:

Was mache ich da falsch? -
Ich habe nun folgendes Problem. Die Wiener Linien stellen mit einem Aufruf (z.B. Abfahrtsdaten77A-Lusthaus JSON Daten für den Abfahrtsmonitor zur Verfügung.
Sind also die Rohdaten.
mit folgendem Code
komme ich nur bis: Array nicht angelegt!
Da klappt das parsen wohl nicht.
Im Adapter habe ich wie folgt eingestellt:

Was mache ich da falsch?@Stephan66 sagte:
Was mache ich da falsch?
Der "Umweg" über den Parser-Adapter ist nicht nötig, da man den JSON direkt per request() von der Webseite einlesen kann. Welche Werte brauchst Du ?

-
Vielen Dank für die rasche Antwort.
Benötigt werden nur die Daten von departure: "0"-"3" TimePlanned, TimeReal und countdown.
Also eigentlich nur diese 12 Werte. Sollten dann in Datenpunkte geschrieben werden - dürfte aber dann das geringere Problem sein. -
Vielen Dank für die rasche Antwort.
Benötigt werden nur die Daten von departure: "0"-"3" TimePlanned, TimeReal und countdown.
Also eigentlich nur diese 12 Werte. Sollten dann in Datenpunkte geschrieben werden - dürfte aber dann das geringere Problem sein.@Stephan66 sagte:
"0"-"3" TimePlanned, TimeReal und countdown.
Anstelle von log in Datenpunkte schreiben:
const url = 'https://www.wienerlinien.at/ogd_realtime/monitor?rbl=2139'; function abfahrten() { request(url, function(error, response, result) { let zeiten = JSON.parse(result).data.monitors[0].lines[0].departures.departure; let anzahl = zeiten.length; if(anzahl > 4) anzahl = 4; for(let i = 0; i < anzahl; i++) { log(zeiten[i].departureTime.timePlanned); log(zeiten[i].departureTime.timeReal); log(zeiten[i].departureTime.countdown); } }); } schedule('* * * * *', abfahrten); // jede Minute -
@paul53 sagte in JSON.parse Problem mit WienerLinien Daten:
const url = 'https://www.wienerlinien.at/ogd_realtime/monitor?rbl=2139';
Super. Klappt. Vielen Dank.
Da habe ich wohl über zu viele Ecken gedacht.
Ich bastle dann mal weiter.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden