NEWS
JSON Daten auswerten und darauf reagieren
-
Moin Moin,
ich bin dabei ein Script zu schreiben um meine HUE Lampen auslesen.
Ich will JS lernen und da kommen mir die Lampen gerade recht.
Antworten wie, nutzte doch den Adapter bringt mich nicht weiter.
Ich habe die betroffenen Zeilen kommentiert.
Bin über jede Hilfe dankbar die Zeilen zu vervollständigen.
Wenn ich "if(JSON.parse(body)[0].error.type=='3'){" mache und das ist nicht vorhanden,
stürzt alles ab.
Kann mir einer sagen, wie ich dort das error handling am besten angehe ?
Mein Code:
//1234567345 // ------------------------------------------------------------------------------------------ var http = require('request'); var options = { uri: "http://>ip>/api/>apikey>/lights/3", method: "GET", json: "", }; request(options, function(error, response, body) { console.log('error Normal '+error); console.log('response Normal '+response); // Das ist JSON console.log('body Normal '+body); // Das ist ein String console.log('response STRING '+JSON.stringify(response)); // Umwandlung von JSON in String if(!error){ console.log('Verbindung konnte aufgebaut werden'); switch (response.statusCode){ case 200: // OK console.log('Verbindung wurde akzeptiert'); //Wenn ich einen Fehler bekomme, weil das nicht vorhanden ist, stürtz alles ab // if(JSON.parse(body)[0].error.type=='3'){ // console.warn('Lampe nicht vorhanden'); // } // else{ // console.log('Lampe vorhanden'); // } // Der Error wird als array ausgegeben // Dieser muss zuerst korrekt umgewandelt werden // var errortyp = JSON.parse(body)[0].error.type; // console.log('Error Type: '+errortyp); break; default: console.error('Verbindung wird NICHT akzeptiert!') } } else{ console.error('Verbindung konnte NICHT aufgebaut werden!'); } //var json = JSON.parse(body); //var name = (json.name); //var state = (json.state.on); //var bri = parseInt(json.state.bri); //var hue = parseInt(json.state.hue); //var sat = parseInt(json.state.sat); //var ct = parseInt(json.state.ct); //console.warn('Status von ' +name +' ist: ' +state); //console.warn('Helligkeit von ' +name +' ist: ' +bri); //console.warn('Hue von ' +name +' ist: ' +hue); //console.warn('Sat von ' +name +' ist: ' +sat); //console.warn('CT von ' +name +' ist: ' +ct); }); // ------------------------------------------------------------------------------------------body bei einem error:
[{"error":{"type":3,"address":"/lights/30","description":"resource, /lights/30, not available"}}]Mit freundlichen Grüßen
Kevin
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