In diesem Artikel zeige ich Dir, wie Du in einem JavaScript ein JSON-String verarbeiten kannst.
Für ein aktuelles Smart-Home Projekt musste ich in einem JavaScript ein JSON-String (JavaScript Object Notation) parsen und die einzelnen Werte weiterverarbeiten. Über ein lokales LoRa-Netzwerk lasse ich mir von entfernten Sensoren Temperatur- und Luftfeuchtigkeitswerte in ioBroker übertragen. Die Sensorinformationen werden dazu per JSON-Zeichenkette über MQTT an ioBroker übermittelt. Die JSON-Zeichenkette hat folgendes Format:
{"name":"SensorOutdoor1", "temp":4.5, "hum":58}
Mit der JSON-Zeichenfolge wird der Name des Sensors, die Temperatur sowie die Luftfeuchtigkeit übermittelt. Für die weitere Verarbeitung und spätere Anzeige in der ioBroker Visualisierung muss die JSON-Zeichenfolge jetzt entsprechend geparsed werden. Hierfür gibt es bereits eine Standard-Funktionalität in JavaScript.
Über die JSON.parse() Methode wird aus der übergebenen JSON-Zeichenkette ein JavaScript Objekt erzeugt. Über den Punkt-Operator können wir dann auf die einzelnen Eigenschaften des JavaScript-Objekts zugreifen. Die Eigenschaften sind hier identisch mit den Namen aus der JSON-Zeichenkette. Im folgenden Code wird aus der oberen JSON-Zeichenkette ein JavaScript-Objekt generiert.
try {
obj = JSON.parse(value);
var name = obj.name;
var temp = obj.temp;
var hum = obj.hum;
} catch (e) {
return;
}
Wichtig ist hierbei der Try-Catch Block, der im Fehlerfall den Fehler abfängt und eine entsprechende Fehlerbehandlung durchführt. Fehler können z.B. dann auftreten, wenn die JSON-Zeichenkette nicht valide (Sonderzeichen, Übertragungsfehler, fehlerhafte Messwerte NaN, …) ist und somit kein JavaScript Objekt generiert werden kann. In unserem Fall wird einfach die JavaScript-Funktion verlassen und kein weiterer Code ausgeführt.
Ich hoffe ich konnte Dir mit diesem Artikel zeigen, wie einfach Du in JavaScript JSON-Strings verarbeiten kannst. Über Kommentare, Fragen oder Anregungen freue ich mich.