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:
![Bild Text]( Bild Link)
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. -
@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.