dict aus bestimmten key-value-Paaren einer komplexen JSON-Datei bauen
Verfasst: Montag 31. Juli 2017, 15:39
Hi Leute,
ich bin mal wieder kurz vor'm Aufgeben.
Ich wuerde gern aus einer komplexen JSON-Datei zwei bestimmte Wertepaare herausfiltern und in ein Dict schreiben, um spaeter damit weiterarbeiten zu koennen.
Das JSON-File ist wie folgt aufgebaut:
Ich habe das File mal auf zwei Eintraege reduziert (die Leerzeile dient der besseren Lesbarkeit). Sind eigentlich ca. 20 davon.
Entscheident sind fuer mich die Werte "id:XX" und "name:XXXX".
Diese beiden Werte wuerde ich gern als Dict aufnehmen und darueber spaeter gezielt etwas steuern zu koennen:
Ich glaube aber, dass das ueberhaupt nicht python-like ist, weswegen ich ein bisschen gesucht habe, und auf JSON-Modul gestossen bin.
Ich glaube, das koennte, was ich brauche, aber ich blicke da nicht durch.
Vielleicht koennte mir jemand einmal erklaeren, wie genau man an solche Faelle heran geht und welches die geeigneten Werkzeuge dafuer sind.
Vielen Dank schon mal und viele Gruesse,
tholle
ich bin mal wieder kurz vor'm Aufgeben.
Ich wuerde gern aus einer komplexen JSON-Datei zwei bestimmte Wertepaare herausfiltern und in ein Dict schreiben, um spaeter damit weiterarbeiten zu koennen.
Das JSON-File ist wie folgt aufgebaut:
Code: Alles auswählen
[{"id":"11","uniqueid":"00:17:88:5E:D3:0B-0B","name":"Jal_Lesen","targetDevice":"Encapsulated","offUrl":"[{\\"item\\":\\"http://admin:XXXXXXXXXX@192.168.26.222/dev/sps/io/Jal_Lesen_CD/pulse\\",\\"type\\":\\"httpDevice\\",\\"httpVerb\\":\\"GET\\",\\"contentType\\":\\"text/html\\"}]","onUrl":"[{\\"item\\":\\"http://admin:XXXXXXXXXX@192.168.26.222/dev/sps/io/Jal_Lesen_CD/pulse\\",\\"type\\":\\"httpDevice\\",\\"httpVerb\\":\\"GET\\",\\"contentType\\":\\"text/html\\"}]","inactive":false,"noState":false,"offState":false,"deviceState":{"on":false,"bri":0,"hue":0,"sat":0,"effect":"none","ct":0,"alert":"none","reachable":true,"xy":[0.0,0.0]}},
{"id":"12","uniqueid":"00:17:88:5E:D3:0C-0C","name":"Squeeze_Kueche","targetDevice":"Encapsulated","offUrl":"[{\\"item\\":\\"http://admin:XXXXXXXXXX@192.168.26.222/dev/sps/io/v_s2_Power_OFF/pulse\\",\\"type\\":\\"httpDevice\\",\\"httpVerb\\":\\"GET\\",\\"contentType\\":\\"text/html\\"}]","onUrl":"[{\\"item\\":\\"http://admin:XXXXXXXXXX@192.168.26.222/dev/sps/io/v_s2_Play/pulse\\",\\"type\\":\\"httpDevice\\",\\"httpVerb\\":\\"GET\\",\\"contentType\\":\\"text/html\\"}]","inactive":false,"noState":false,"offState":false,"deviceState":{"on":false,"bri":0,"hue":0,"sat":0,"effect":"none","ct":0,"alert":"none","reachable":true}}]
Entscheident sind fuer mich die Werte "id:XX" und "name:XXXX".
Diese beiden Werte wuerde ich gern als Dict aufnehmen und darueber spaeter gezielt etwas steuern zu koennen:
Urspruenglich hatte ich gedacht, ich iteriere ueber die komplette Ausgabe und schneide alles weg, was ich nicht gebrauchen kann (so zumindest wuerde ich das mit der Bash machen).dict={"11":"Jal_Lesen", "12":"Squezze_Kueche"}
Ich glaube aber, dass das ueberhaupt nicht python-like ist, weswegen ich ein bisschen gesucht habe, und auf JSON-Modul gestossen bin.
Ich glaube, das koennte, was ich brauche, aber ich blicke da nicht durch.
Vielleicht koennte mir jemand einmal erklaeren, wie genau man an solche Faelle heran geht und welches die geeigneten Werkzeuge dafuer sind.
Vielen Dank schon mal und viele Gruesse,
tholle