NEWS
Datenpunkte in json zusammenfassen
-
Hallo,
ich habe mit ein bisschen Unterstützung einiger Leute es hinbekommen, dass ich für meinen Abfahrtmonitor (Bus) alle relevanten Daten in Datenpunkte ablegen konnte.
Hier mal der Code, den ich jetzt verwende:
schedule('* * * * *', datenlesen); // jede minute var request = require('request'); var logging = true; createState('Verkehr.Aktualisieren', false, { desc: 'Werte aktualisieren', type: 'boolean', def: false, role: 'indicator' }); for(let i = 0; i < 4; i++) { createState('Verkehr.Richtung_xx.Startzeit'+i, 0, { }); createState('Verkehr.Richtung_xx.Verspaetung'+i, 0, { }); createState('Verkehr.Richtung_xx.Haltestelle'+i, 0, { }); createState('Verkehr.Richtung_xx.Linie'+i, 0, { }); createState('Verkehr.Richtung_xx.tats_zeit'+i, 0, { }); } function datenlesen() { //Zuhause nach Zentrum var link = 'https://vrrf.finalrewind.org/xxx/xxx.json?frontend=json&offset=1&platform=1' ; log('Verkehr Daten einlesen'); request(link, function (error, response, body) { if (!error && response.statusCode == 200) { var result; try{ result = JSON.parse(body); if (logging) log('Kein Fehler beim Einlesen Verkehr Daten'); } catch (e) { log('Parse Fehler (Roofi Modul):' + e); } if (result) { var Startzeit; var Verspaetung; var Haltestelle; var Linie; var TatsZeit; for(let j = 0; j < 4; j++) { //Startzeit if (logging) log(result.raw[j].sched_time); //Verspaetung if (logging) log(result.raw[j].delay); //Ziel Haltestelle if (logging) log(result.raw[j].destination); //Linie if (logging) log(result.raw[j].line); //Tatsächliche Zeit if (logging) log(result.raw[j].time); Startzeit = result.raw[j].sched_time; Verspaetung = result.raw[j].delay; Haltestelle = result.raw[j].destination; Linie = result.raw[j].line; TatsZeit = result.raw[j].time; setState("javascript.0.Verkehr.Richtung_xx.Startzeit"+j,Startzeit); setState("javascript.0.Verkehr.Richtung_xx.Verspaetung"+j,Verspaetung); setState("javascript.0.Verkehr.Richtung_xx.Haltestelle"+j,Haltestelle); setState("javascript.0.Verkehr.Richtung_xx.Linie"+j,Linie); setState("javascript.0.Verkehr.Richtung_xx.tats_zeit"+j,TatsZeit); } setState("javascript.0.Verkehr.Aktualisieren", false); setState("javascript.0.VIS.Overlay", 5); // setState("javascript.0.VIS.Overlay_iPhoneX", 5); } } else log('Fehler (Verkehr Daten Abfrage: ' + error); }); // Ende request log('Verkehr Daten eingelesen'); } datenlesen ();Jetzt hätte ich aber gerne, dass diese Daten wieder in eine JSON zusammengefasst werden für meine Tabelle in vis. Wie kann ich das Umsetzen?
-
Geht es dir allgemein darum, wie du ein JSON aus Datenpunkten erstellen kannst. Grundsätzlich ist JSON ziemlich tief verankert in JS, wie es der Name ja vermuten lässt.
Du kannst einfach ein JSON Objekt initialisieren
let meinJSONObjekt = {}; // alternativ = new Object();und dieses Objekt erweitern
meinJSONObjekt.zahl = 1; meinJSOnObjekt.zeichenkette = 'test';wenn du dir das dann in lesbarer Form ausgeben möchtest:
console.log(JSON.stringify(meinJSONObjekt));die Ausgabe wird in etwa so aussehen:
{ "zahl": 1, "zeichenkette": "test" }beste Grüße
fox
-
danke, werde ich mir später mal anschauen ob ich das hinbekomme!
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