NEWS
[gelöst] Brauche hilfe json Array verschachtelung zu parsen
-
@newpicsel sagte in Brauche hilfe json Array verschachtelung zu parsen:
@fastfoot said in Brauche hilfe json Array verschachtelung zu parsen:
tja, ohne konkrete Daten kann man da nichts machen
und die wären? die tatsächliche json? wird nichts anderes zeigen denke ich, ich schick sie gleich mal...
ja, die tatsächlichen Daten, persönliche Angaben kannst du ja verändern
-
so....
{ "body": { "homes": [ { "id": "xy", "name": "Home", "altitude": 8, "coordinates": [ xy, xy ], "country": "DE", "timezone": "Europe\/Berlin", "rooms": [ { "id": "xy", "name": "Schlafzimmer", "type": "bedroom", "module_ids": [ "xy" ] }, { "id": "xy", "name": "Kinderzimmer", "type": "custom", "module_ids": [ "xy" ] }, { "id": "xy", "name": "K\u00fcche", "type": "kitchen", "module_ids": [ "xy" ] }, { "id": "xy", "name": "Wohnzimmer", "type": "custom", "module_ids": [ "xy" ] }, { "id": "xy", "name": "Badezimmer", "type": "bathroom", "module_ids": [ "xy" ] } ], "modules": [ { "id": "xy", "type": "NAPlug", "name": "Relais", "setup_date": 1512123665, "modules_bridged": [ "xy", "xy", "xy", "xy", "xy" ] }, { "id": "xy", "type": "NRV", "name": "K\u00fcche", "setup_date": 1514020470, "room_id": "xy", "bridge": "xy" }, { "id": "xy", "type": "NRV", "name": "Badezimmer", "setup_date": 1514023382, "room_id": "xy", "bridge": "xy" }, { "id": "xy", "type": "NRV", "name": "Kinderzimmer", "setup_date": 1514032377, "room_id": "xy", "bridge": "xy" }, { "id": "xy", "type": "NRV", "name": "Schlafzimmer", "setup_date": 1512123670, "room_id": "xy", "bridge": "xy" }, { "id": "xy", "type": "NRV", "name": "Wohnzimmer", "setup_date": 1512123670, "room_id": "xy", "bridge": "xy" } ], "therm_schedules": [ { "timetable": [ { "zone_id": 1, "m_offset": 0 }, { "zone_id": 3, "m_offset": 180 }, { "zone_id": 1, "m_offset": 240 }, { "zone_id": 3, "m_offset": 300 }, { "zone_id": 9373, "m_offset": 360 }, { "zone_id": 0, "m_offset": 480 }, { "zone_id": 7690, "m_offset": 1200 }, { "zone_id": 6622, "m_offset": 1320 }, { "zone_id": 1, "m_offset": 1380 }, { "zone_id": 3, "m_offset": 1620 }, { "zone_id": 1, "m_offset": 1680 }, { "zone_id": 3, "m_offset": 1740 }, { "zone_id": 9373, "m_offset": 1800 }, { "zone_id": 0, "m_offset": 1920 }, { "zone_id": 7690, "m_offset": 2640 }, { "zone_id": 6622, "m_offset": 2760 }, { "zone_id": 1, "m_offset": 2820 }, { "zone_id": 3, "m_offset": 3060 }, { "zone_id": 1, "m_offset": 3120 }, { "zone_id": 3, "m_offset": 3180 }, { "zone_id": 9373, "m_offset": 3240 }, { "zone_id": 0, "m_offset": 3360 }, { "zone_id": 7690, "m_offset": 4080 }, { "zone_id": 6622, "m_offset": 4200 }, { "zone_id": 1, "m_offset": 4260 }, { "zone_id": 3, "m_offset": 4500 }, { "zone_id": 1, "m_offset": 4560 }, { "zone_id": 3, "m_offset": 4620 }, { "zone_id": 9373, "m_offset": 4680 }, { "zone_id": 0, "m_offset": 4800 }, { "zone_id": 7690, "m_offset": 5520 }, { "zone_id": 6622, "m_offset": 5640 }, { "zone_id": 1, "m_offset": 5700 }, { "zone_id": 3, "m_offset": 5940 }, { "zone_id": 1, "m_offset": 6000 }, { "zone_id": 3, "m_offset": 6060 }, { "zone_id": 9373, "m_offset": 6120 }, { "zone_id": 0, "m_offset": 6240 }, { "zone_id": 7690, "m_offset": 6960 }, { "zone_id": 6622, "m_offset": 7140 }, { "zone_id": 1, "m_offset": 7200 }, { "zone_id": 9373, "m_offset": 7620 }, { "zone_id": 3, "m_offset": 7680 }, { "zone_id": 0, "m_offset": 7740 }, { "zone_id": 7690, "m_offset": 8400 }, { "zone_id": 6622, "m_offset": 8580 }, { "zone_id": 1, "m_offset": 8640 }, { "zone_id": 9373, "m_offset": 9060 }, { "zone_id": 3, "m_offset": 9120 }, { "zone_id": 0, "m_offset": 9180 }, { "zone_id": 7690, "m_offset": 9840 }, { "zone_id": 6622, "m_offset": 9960 }, { "zone_id": 1, "m_offset": 10020 } ], "zones": [ { "name": "Komfort", "id": 0, "type": 0, "rooms_temp": [ { "room_id": "xy", "temp": 19 }, { "room_id": "xy", "temp": 20 }, { "room_id": "xy", "temp": 19 }, { "room_id": "xy", "temp": 18 }, { "room_id": "xy", "temp": 20 } ] }, { "name": "Nacht", "id": 1, "type": 1, "rooms_temp": [ { "room_id": "xy", "temp": 19 }, { "room_id": "xy", "temp": 20 }, { "room_id": "xy", "temp": 19 }, { "room_id": "xy", "temp": 17 }, { "room_id": "xy", "temp": 18 } ] }, { "name": "Eco", "id": 4, "type": 5, "rooms_temp": [ { "room_id": "xy", "temp": 18 }, { "room_id": "xy", "temp": 18 }, { "room_id": "xy", "temp": 18 }, { "room_id": "xy", "temp": 18 }, { "room_id": "xy", "temp": 18 } ] }, { "name": "Aufstehen", "id": 9373, "type": 4, "rooms_temp": [ { "room_id": "xy", "temp": 19 }, { "room_id": "xy", "temp": 20 }, { "room_id": "xy", "temp": 19 }, { "room_id": "xy", "temp": 19 }, { "room_id": "xy", "temp": 19 } ] }, { "name": "Schlafen", "id": 6622, "type": 4, "rooms_temp": [ { "room_id": "xy", "temp": 19 }, { "room_id": "xy", "temp": 20 }, { "room_id": "xy", "temp": 19 }, { "room_id": "xy", "temp": 20 }, { "room_id": "xy", "temp": 19 } ] }, { "name": "Schlarfzimmer Warm", "id": 7690, "type": 4, "rooms_temp": [ { "room_id": "xy", "temp": 19 }, { "room_id": "xy", "temp": 20 }, { "room_id": "xy", "temp": 19 }, { "room_id": "xy", "temp": 19 }, { "room_id": "xy", "temp": 19 } ] }, { "name": "Komfort+", "id": 3, "type": 8, "rooms_temp": [ { "room_id": "xy", "temp": 19 }, { "room_id": "xy", "temp": 20 }, { "room_id": "xy", "temp": 19 }, { "room_id": "xy", "temp": 19 }, { "room_id": "xy", "temp": 20 } ] } ], "name": "Winter", "default": false, "away_temp": 16, "hg_temp": 7, "id": "xy", "selected": true, "type": "therm" }, { "timetable": [ { "zone_id": 1, "m_offset": 0 }, { "zone_id": 0, "m_offset": 360 }, { "zone_id": 4, "m_offset": 480 }, { "zone_id": 0, "m_offset": 1020 }, { "zone_id": 1, "m_offset": 1320 }, { "zone_id": 0, "m_offset": 1800 }, { "zone_id": 4, "m_offset": 1920 }, { "zone_id": 0, "m_offset": 2460 }, { "zone_id": 1, "m_offset": 2760 }, { "zone_id": 0, "m_offset": 3240 }, { "zone_id": 4, "m_offset": 3360 }, { "zone_id": 0, "m_offset": 3900 }, { "zone_id": 1, "m_offset": 4200 }, { "zone_id": 0, "m_offset": 4680 }, { "zone_id": 4, "m_offset": 4800 }, { "zone_id": 0, "m_offset": 5340 }, { "zone_id": 1, "m_offset": 5640 }, { "zone_id": 0, "m_offset": 6120 }, { "zone_id": 4, "m_offset": 6240 }, { "zone_id": 3, "m_offset": 6660 }, { "zone_id": 0, "m_offset": 6960 }, { "zone_id": 1, "m_offset": 7140 }, { "zone_id": 0, "m_offset": 7620 }, { "zone_id": 3, "m_offset": 7740 }, { "zone_id": 0, "m_offset": 8400 }, { "zone_id": 1, "m_offset": 8580 }, { "zone_id": 0, "m_offset": 9060 }, { "zone_id": 3, "m_offset": 9180 }, { "zone_id": 0, "m_offset": 9840 }, { "zone_id": 1, "m_offset": 9960 } ], "zones": [ { "name": "", "id": 1, "type": 1, "rooms_temp": [ { "room_id": "xy", "temp": 16 }, { "room_id": "xy", "temp": 16 }, { "room_id": "xy", "temp": 16 }, { "room_id": "xy", "temp": 16 }, { "room_id": "xy", "temp": 16 } ] }, { "name": "Eco", "id": 4, "type": 5, "rooms_temp": [ { "room_id": "xy", "temp": 16 }, { "room_id": "xy", "temp": 16 }, { "room_id": "xy", "temp": 16 }, { "room_id": "xy", "temp": 16 }, { "room_id": "xy", "temp": 16 } ] }, { "name": "Komfort", "id": 0, "type": 0, "rooms_temp": [ { "room_id": "xy", "temp": 18 }, { "room_id": "xy", "temp": 18 }, { "room_id": "xy", "temp": 18 }, { "room_id": "xy", "temp": 18 }, { "room_id": "xy", "temp": 18 } ] }, { "name": "Komfort+", "id": 3, "type": 8, "rooms_temp": [ { "room_id": "xy", "temp": 18 }, { "room_id": "xy", "temp": 18 }, { "room_id": "xy", "temp": 18 }, { "room_id": "xy", "temp": 18 }, { "room_id": "xy", "temp": 18 } ] } ], "name": "Sommer", "default": false, "away_temp": 12, "hg_temp": 7, "id": "xy", "type": "therm" } ], "therm_mode": "schedule", "therm_setpoint_default_duration": 60, "schedules": [ { "timetable": [ { "zone_id": 1, "m_offset": 0 }, { "zone_id": 3, "m_offset": 180 }, { "zone_id": 1, "m_offset": 240 }, { "zone_id": 3, "m_offset": 300 }, { "zone_id": 9373, "m_offset": 360 }, { "zone_id": 0, "m_offset": 480 }, { "zone_id": 7690, "m_offset": 1200 }, { "zone_id": 6622, "m_offset": 1320 }, { "zone_id": 1, "m_offset": 1380 }, { "zone_id": 3, "m_offset": 1620 }, { "zone_id": 1, "m_offset": 1680 }, { "zone_id": 3, "m_offset": 1740 }, { "zone_id": 9373, "m_offset": 1800 }, { "zone_id": 0, "m_offset": 1920 }, { "zone_id": 7690, "m_offset": 2640 }, { "zone_id": 6622, "m_offset": 2760 }, { "zone_id": 1, "m_offset": 2820 }, { "zone_id": 3, "m_offset": 3060 }, { "zone_id": 1, "m_offset": 3120 }, { "zone_id": 3, "m_offset": 3180 }, { "zone_id": 9373, "m_offset": 3240 }, { "zone_id": 0, "m_offset": 3360 }, { "zone_id": 7690, "m_offset": 4080 }, { "zone_id": 6622, "m_offset": 4200 }, { "zone_id": 1, "m_offset": 4260 }, { "zone_id": 3, "m_offset": 4500 }, { "zone_id": 1, "m_offset": 4560 }, { "zone_id": 3, "m_offset": 4620 }, { "zone_id": 9373, "m_offset": 4680 }, { "zone_id": 0, "m_offset": 4800 }, { "zone_id": 7690, "m_offset": 5520 }, { "zone_id": 6622, "m_offset": 5640 }, { "zone_id": 1, "m_offset": 5700 }, { "zone_id": 3, "m_offset": 5940 }, { "zone_id": 1, "m_offset": 6000 }, { "zone_id": 3, "m_offset": 6060 }, { "zone_id": 9373, "m_offset": 6120 }, { "zone_id": 0, "m_offset": 6240 }, { "zone_id": 7690, "m_offset": 6960 }, { "zone_id": 6622, "m_offset": 7140 }, { "zone_id": 1, "m_offset": 7200 }, { "zone_id": 9373, "m_offset": 7620 }, { "zone_id": 3, "m_offset": 7680 }, { "zone_id": 0, "m_offset": 7740 }, { "zone_id": 7690, "m_offset": 8400 }, { "zone_id": 6622, "m_offset": 8580 }, { "zone_id": 1, "m_offset": 8640 }, { "zone_id": 9373, "m_offset": 9060 }, { "zone_id": 3, "m_offset": 9120 }, { "zone_id": 0, "m_offset": 9180 }, { "zone_id": 7690, "m_offset": 9840 }, { "zone_id": 6622, "m_offset": 9960 }, { "zone_id": 1, "m_offset": 10020 } ], "zones": [ { "name": "Komfort", "id": 0, "type": 0, "rooms_temp": [ { "room_id": "yx", "temp": 19 }, { "room_id": "xy", "temp": 20 }, { "room_id": "xy", "temp": 19 }, { "room_id": "xy", "temp": 18 }, { "room_id": "xy", "temp": 20 } ], "rooms": [ { "id": "xy", "therm_setpoint_temperature": 19 }, { "id": "xy", "therm_setpoint_temperature": 20 }, { "id": "xy", "therm_setpoint_temperature": 19 }, { "id": "xy", "therm_setpoint_temperature": 18 }, { "id": "xy", "therm_setpoint_temperature": 20 } ] }, { "name": "Nacht", "id": 1, "type": 1, "rooms_temp": [ { "room_id": "xy", "temp": 19 }, { "room_id": "xy", "temp": 20 }, { "room_id": "xy", "temp": 19 }, { "room_id": "xy", "temp": 17 }, { "room_id": "xy", "temp": 18 } ], "rooms": [ { "id": "xy", "therm_setpoint_temperature": 19 }, { "id": "xy", "therm_setpoint_temperature": 20 }, { "id": "xy", "therm_setpoint_temperature": 19 }, { "id": "xy", "therm_setpoint_temperature": 17 }, { "id": "xy", "therm_setpoint_temperature": 18 } ] }, { "name": "Eco", "id": 4, "type": 5, "rooms_temp": [ { "room_id": "xy", "temp": 18 }, { "room_id": "xy", "temp": 18 }, { "room_id": "xy", "temp": 18 }, { "room_id": "xy", "temp": 18 }, { "room_id": "xy", "temp": 18 } ], "rooms": [ { "id": "xy", "therm_setpoint_temperature": 18 }, { "id": "xy", "therm_setpoint_temperature": 18 }, { "id": "xy", "therm_setpoint_temperature": 18 }, { "id": "xy", "therm_setpoint_temperature": 18 }, { "id": "xy", "therm_setpoint_temperature": 18 } ] }, { "name": "Aufstehen", "id": 9373, "type": 4, "rooms_temp": [ { "room_id": "xy", "temp": 19 }, { "room_id": "xy", "temp": 20 }, { "room_id": "xy", "temp": 19 }, { "room_id": "xy", "temp": 19 }, { "room_id": "xy", "temp": 19 } ], "rooms": [ { "id": "xy", "therm_setpoint_temperature": 19 }, { "id": "xy", "therm_setpoint_temperature": 20 }, { "id": "xy", "therm_setpoint_temperature": 19 }, { "id": "xy", "therm_setpoint_temperature": 19 }, { "id": "xy", "therm_setpoint_temperature": 19 } ] }, { "name": "Schlafen", "id": 6622, "type": 4, "rooms_temp": [ { "room_id": "xy", "temp": 19 }, { "room_id": "xy", "temp": 20 }, { "room_id": "xy", "temp": 19 }, { "room_id": "xy", "temp": 20 }, { "room_id": "xy", "temp": 19 } ], "rooms": [ { "id": "xy", "therm_setpoint_temperature": 19 }, { "id": "xy", "therm_setpoint_temperature": 20 }, { "id": "xy", "therm_setpoint_temperature": 19 }, { "id": "xy", "therm_setpoint_temperature": 20 }, { "id": "xy", "therm_setpoint_temperature": 19 } ] }, { "name": "Schlarfzimmer Warm", "id": 7690, "type": 4, "rooms_temp": [ { "room_id": "yx", "temp": 19 }, { "room_id": "xy", "temp": 20 }, { "room_id": "xy", "temp": 19 }, { "room_id": "xy", "temp": 19 }, { "room_id": "xy", "temp": 19 } ], "rooms": [ { "id": "xy", "therm_setpoint_temperature": 19 }, { "id": "xy", "therm_setpoint_temperature": 20 }, { "id": "xy", "therm_setpoint_temperature": 19 }, { "id": "xy", "therm_setpoint_temperature": 19 }, { "id": "xy", "therm_setpoint_temperature": 19 } ] }, { "name": "Komfort+", "id": 3, "type": 8, "rooms_temp": [ { "room_id": "xy", "temp": 19 }, { "room_id": "xy", "temp": 20 }, { "room_id": "xy", "temp": 19 }, { "room_id": "xy", "temp": 19 }, { "room_id": "xy", "temp": 20 } ], "rooms": [ { "id": "xy", "therm_setpoint_temperature": 19 }, { "id": "xy", "therm_setpoint_temperature": 20 }, { "id": "xy", "therm_setpoint_temperature": 19 }, { "id": "xy", "therm_setpoint_temperature": 19 }, { "id": "xy", "therm_setpoint_temperature": 20 } ] } ], "name": "Winter", "default": false, "away_temp": 16, "hg_temp": 7, "id": "xy", "selected": true, "type": "therm" }, { "timetable": [ { "zone_id": 1, "m_offset": 0 }, { "zone_id": 0, "m_offset": 360 }, { "zone_id": 4, "m_offset": 480 }, { "zone_id": 0, "m_offset": 1020 }, { "zone_id": 1, "m_offset": 1320 }, { "zone_id": 0, "m_offset": 1800 }, { "zone_id": 4, "m_offset": 1920 }, { "zone_id": 0, "m_offset": 2460 }, { "zone_id": 1, "m_offset": 2760 }, { "zone_id": 0, "m_offset": 3240 }, { "zone_id": 4, "m_offset": 3360 }, { "zone_id": 0, "m_offset": 3900 }, { "zone_id": 1, "m_offset": 4200 }, { "zone_id": 0, "m_offset": 4680 }, { "zone_id": 4, "m_offset": 4800 }, { "zone_id": 0, "m_offset": 5340 }, { "zone_id": 1, "m_offset": 5640 }, { "zone_id": 0, "m_offset": 6120 }, { "zone_id": 4, "m_offset": 6240 }, { "zone_id": 3, "m_offset": 6660 }, { "zone_id": 0, "m_offset": 6960 }, { "zone_id": 1, "m_offset": 7140 }, { "zone_id": 0, "m_offset": 7620 }, { "zone_id": 3, "m_offset": 7740 }, { "zone_id": 0, "m_offset": 8400 }, { "zone_id": 1, "m_offset": 8580 }, { "zone_id": 0, "m_offset": 9060 }, { "zone_id": 3, "m_offset": 9180 }, { "zone_id": 0, "m_offset": 9840 }, { "zone_id": 1, "m_offset": 9960 } ], "zones": [ { "name": "", "id": 1, "type": 1, "rooms_temp": [ { "room_id": "xy", "temp": 16 }, { "room_id": "xy", "temp": 16 }, { "room_id": "xy", "temp": 16 }, { "room_id": "xy", "temp": 16 }, { "room_id": "xy", "temp": 16 } ], "rooms": [ { "id": "xy", "therm_setpoint_temperature": 16 }, { "id": "xy", "therm_setpoint_temperature": 16 }, { "id": "xy", "therm_setpoint_temperature": 16 }, { "id": "xy", "therm_setpoint_temperature": 16 }, { "id": "xy", "therm_setpoint_temperature": 16 } ] }, { "name": "Eco", "id": 4, "type": 5, "rooms_temp": [ { "room_id": "xy", "temp": 16 }, { "room_id": "xy", "temp": 16 }, { "room_id": "xy", "temp": 16 }, { "room_id": "xy", "temp": 16 }, { "room_id": "xy", "temp": 16 } ], "rooms": [ { "id": "xy", "therm_setpoint_temperature": 16 }, { "id": "xy", "therm_setpoint_temperature": 16 }, { "id": "xy", "therm_setpoint_temperature": 16 }, { "id": "xy", "therm_setpoint_temperature": 16 }, { "id": "xy", "therm_setpoint_temperature": 16 } ] }, { "name": "Komfort", "id": 0, "type": 0, "rooms_temp": [ { "room_id": "xy", "temp": 18 }, { "room_id": "xy", "temp": 18 }, { "room_id": "xy", "temp": 18 }, { "room_id": "xy", "temp": 18 }, { "room_id": "xy", "temp": 18 } ], "rooms": [ { "id": "xy", "therm_setpoint_temperature": 18 }, { "id": "xy", "therm_setpoint_temperature": 18 }, { "id": "xy", "therm_setpoint_temperature": 18 }, { "id": "xy", "therm_setpoint_temperature": 18 }, { "id": "xy", "therm_setpoint_temperature": 18 } ] }, { "name": "Komfort+", "id": 3, "type": 8, "rooms_temp": [ { "room_id": "xy", "temp": 18 }, { "room_id": "xy", "temp": 18 }, { "room_id": "xy", "temp": 18 }, { "room_id": "xy", "temp": 18 }, { "room_id": "xy", "temp": 18 } ], "rooms": [ { "id": "yx", "therm_setpoint_temperature": 18 }, { "id": "yx", "therm_setpoint_temperature": 18 }, { "id": "yx", "therm_setpoint_temperature": 18 }, { "id": "yx", "therm_setpoint_temperature": 18 }, { "id": "yx", "therm_setpoint_temperature": 18 } ] } ], "name": "Sommer", "default": false, "away_temp": 12, "hg_temp": 7, "id": "xy", "type": "therm" } ] } ], "user": { "email": "xy@web.de", "language": "de-DE", "locale": "de-DE", "feel_like_algorithm": 0, "unit_pressure": 0, "unit_system": 0, "unit_wind": 0, "id": "xy" } }, "status": "ok", "time_exec": 0.021591901779174805, "time_server": 1611503100 }
-
machst du das in blockly oder in javascript?
wie heißt das objekt/variable, dem du das JSON zuweist?
Wenn die Variable a heist, dann ist das folgende richtig:a.body.homes[0].name
edit:
ok du holst es aus einem datenpunkt raus.
ist das JSON dort als String oder schon als Objekt drin? Wahrscheinlich string.
Dann musst du es erst in ein Objekt umwandelnvar a = JSON.parse(getState("Objekt_ID").val); a.body.homes[0].name
-
keine chance, ich bekomme immer den wert "null" zurück...
ich machs in Blockly aber sollte normal genauso gehen!
homeData = (function () { try {return JSON.parse(getState("0_userdata.0.Eigene_Objekte.Netatmo.Home_Data_json").val);} catch(e) {return {};}})(); homeName = getAttr(homeData, 'body.homes[0].name'); console.log(homeName);
das kann doch nicht wahr sein, ich werde noch bekloppt!
-
@newpicsel sagte in Brauche hilfe json Array verschachtelung zu parsen:
das kann doch nicht wahr sein, ich werde noch bekloppt!
ich glaube da stimmt was nicht mit Blockly, bin aber nicht ganz sicher. So gehts aber
-
@fastfoot sagte in Brauche hilfe json Array verschachtelung zu parsen:
ich glaube da stimmt was nicht mit Blockly, bin aber nicht ganz sicher.
Also, auch ältere Versionen arbeiten nicht anders, bin bis auf die 4.7.4 zurück. Mich kommt aber
body.homes.0
als Attribut seltsam vor. @paul53 was meinst Du dazu? In JS jedenfalls wäre das ungültig, wird in Blockly ja allerdings mit getAttr() gemacht -
Unglaublich es funktioniert, sobald einmal die array "[]homes" selektiert ist, kannst danach alle werte auslesen!
vielen Dank!dann muss ich nur noch eine liste aus allen id´s von "modules.modules_bridged" erstellen, wie kann ich dann die zugehörigen namen der id´s ermitteln?
kann ich eine aktion in eine schleife packen, die genau so oft durchläuft wie id´s in der liste sind und jedesmal die variable mit der nächsten id gefüllt wird?
geht darum, dass die objekte der räume automatisch angelegt werden, die ja bei jedem user anders heißen und unterschiedlich viele sind...für mich könnte ich alles manuel anlegen aber es soll ja am besten ohne weiteres für alle anwendbar sein.
"modules": [ { "id": "xy", "type": "NAPlug", "name": "Relais", "setup_date": 1512123665, "modules_bridged": [ "123","456","789","987","654" ] },
{ "id": "123", "name": "Wohnzimmer", "type": "custom", "module_ids": [ "123" ] }, { "id": "456", "name": "Badezimmer", "type": "bathroom", "module_ids": [ "456" ] }
-
@fastfoot said in Brauche hilfe json Array verschachtelung zu parsen:
Also, auch ältere Versionen arbeiten nicht anders, bin bis auf die 4.7.4 zurück. Mich kommt aber
body.homes.0
als Attribut seltsam vor. @paul53 was meinst Du dazu? In JS jedenfalls wäre das ungültig, wird in Blockly ja allerdings mit getAttr() gemachtAlso ich hab den schritt body.homes.0 nicht getestet, da ich in der liste "ListElem" auf die werte schon zugreifen kann, ich finds auch seltsam aber ich kenne mich auch nicht damit aus...
-
@newpicsel Auf modules kannst du so zugreifen
-
@newpicsel sagte in Brauche hilfe json Array verschachtelung zu parsen:
Also ich hab den schritt body.homes.0 nicht getestet, da ich in der liste "ListElem" auf die werte schon zugreifen kann,
für ListElem so
-
Ja stimmt, jetzt wo ich den block gesehen habe, ist es mir auch wieder eingefallen.
Danke dir und auch den anderen, ich bin fast verzweifelt!
-
Abend,
eine frage habe ich noch, vielleicht kannst du oder jemand helfen?Wie kann ich etwas nach einem Wert aus der Liste "modules" filtern?
Ich möchte zb. nur den block ausgeben, wo "name: "Relais"" enthalten ist.So klappt es nicht, wobei wenn ich nach den ersten block frage alles klappt, liegt also nur an dem filter, ich weiß nicht wie der hier aussehen müsste...
Ich kann nicht sicher sagen ob mein gewünschter Inhalt immer der erste block in der liste ist. -
@newpicsel sagte in Brauche hilfe json Array verschachtelung zu parsen:
Abend,
eine frage habe ich noch, vielleicht kannst du oder jemand helfen?Wie kann ich etwas nach einem Wert aus der Liste "modules" filtern?
Ich möchte zb. nur den block ausgeben, wo "name: "Relais"" enthalten ist.So klappt es nicht, wobei wenn ich nach den ersten block frage alles klappt, liegt also nur an dem filter, ich weiß nicht wie der hier aussehen müsste...
Ich kann nicht sicher sagen ob mein gewünschter Inhalt immer der erste block in der liste ist.den Filter musst du selbst bauen, indem du bei jedem Durchlauf prüfst und dann die Schleife abbrichst
-
@fastfoot said in Brauche hilfe json Array verschachtelung zu parsen:
den Filter musst du selbst bauen, indem du bei jedem Durchlauf prüfst und dann die Schleife abbrichst
ok danke
kriege ich aber hin
hab nur gehofft es fürde auch so gehen... -
@newpicsel ich habe dazu eine Anleitung geschrieben, vielleicht hilft es dir ja: https://www.machs-smart.de/json-blockly-einlesen-parsen-verarbeiten/