NEWS
(gelöst) JSON Datei parsen
-
Hallo zusammen,
ich möchte aus einem Portal Zählerstände abholen, per URL Befehl komme ich auch drauf, und erhalte eine JSON Datei. Am Ende hapert es dann beim Auslesen.Ich habe den Blockly Code von hier als Vorlage genommen:
https://www.machs-smart.de/json-blockly-einlesen-parsen-verarbeiten/Meine JSON sieht so aus:
{ "body":[ { "parser_id":"4c368561-c227-45c9-84b2-a9c5df2447c9", "device_id":"7fba5eab-0811-426b-b818-0f4bbc6ae03e", "packet_id":"ade14889-52b6-42fd-a1c1-0b7277b63be6", "location":null, "inserted_at":"2022-05-06T01:21:42.755728Z", "measured_at":"2022-05-05T21:59:59.999999Z", "data":{ "7-0:3.0.0":10384.891, "description_1":"impulses", "error_last_reading":"missing or invalid previous reading with 7-0:3.0.0", "k_wh":117349.2683, "type":"SP1", "unit_1":"none", "value_1":25258.0 }, "id":"3bd2608f-f31f-4dd2-8420-ec6ae566b484" } ], "ok":true, "retrieve_after_id":"3bd2608f-f31f-4dd2-8420-ec6ae566b484", "status":200 }Das dazugehörige Blockly:

Ergebnis ist leider:
11:14:12.454 info javascript.0 (8408) script.js.common.Zaehlerstand_Blockly: null 11:14:12.455 info javascript.0 (8408) script.js.common.Zaehlerstand_Blockly: nullIch schätze es liegt irgendwie an der Formatierung des JSON?!?
-
Hallo zusammen,
ich möchte aus einem Portal Zählerstände abholen, per URL Befehl komme ich auch drauf, und erhalte eine JSON Datei. Am Ende hapert es dann beim Auslesen.Ich habe den Blockly Code von hier als Vorlage genommen:
https://www.machs-smart.de/json-blockly-einlesen-parsen-verarbeiten/Meine JSON sieht so aus:
{ "body":[ { "parser_id":"4c368561-c227-45c9-84b2-a9c5df2447c9", "device_id":"7fba5eab-0811-426b-b818-0f4bbc6ae03e", "packet_id":"ade14889-52b6-42fd-a1c1-0b7277b63be6", "location":null, "inserted_at":"2022-05-06T01:21:42.755728Z", "measured_at":"2022-05-05T21:59:59.999999Z", "data":{ "7-0:3.0.0":10384.891, "description_1":"impulses", "error_last_reading":"missing or invalid previous reading with 7-0:3.0.0", "k_wh":117349.2683, "type":"SP1", "unit_1":"none", "value_1":25258.0 }, "id":"3bd2608f-f31f-4dd2-8420-ec6ae566b484" } ], "ok":true, "retrieve_after_id":"3bd2608f-f31f-4dd2-8420-ec6ae566b484", "status":200 }Das dazugehörige Blockly:

Ergebnis ist leider:
11:14:12.454 info javascript.0 (8408) script.js.common.Zaehlerstand_Blockly: null 11:14:12.455 info javascript.0 (8408) script.js.common.Zaehlerstand_Blockly: nullIch schätze es liegt irgendwie an der Formatierung des JSON?!?
-
@paul53 habe ich so nachgebaut:

Ergebnis bleibt weiterhin "null".
Ok der Eintrag mit type würde gehen, da bekomme ich einen Wert, leider will ich die Zahl bei 7-0:3.0.0 haben. Kriegt er das wegen den Sonderzeichen nicht hin?
-
@mwolle sagte: Ergebnis bleibt weiterhin "null".
"7-0:3.0.0" enthält viele unzulässige Zeichen für einen Bezeichner. Da hilft eine Javascript-Funktion parseObj(obj, attr) mit folgendem Inhalt:
return obj[attr];
@paul53 bei der Funktion "JS-Funktion mit Ergebnis parseObj steht bei mir nicht mit obj, attr sondern:

mit Doppelklick auf [...] habe ich das eingefügt:function parseObj(obj, attr) return obj[attr];bekomme aber nicht den gleichen Block wie du, insbesondere finde ich nicht den parseObj mit obj ...attr
-
@paul53 bei der Funktion "JS-Funktion mit Ergebnis parseObj steht bei mir nicht mit obj, attr sondern:

mit Doppelklick auf [...] habe ich das eingefügt:function parseObj(obj, attr) return obj[attr];bekomme aber nicht den gleichen Block wie du, insbesondere finde ich nicht den parseObj mit obj ...attr
-
@mwolle sagte: habe ich das eingefügt:
Nur die letzte Zeile!
@mwolle sagte in JSON Datei parsen:
finde ich nicht den parseObj mit obj ...attr
Zahnrad links:

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
