Hallo an alle ,
ich habe gelesen, dass Python Json-Files untersützt und wollte mal versuchen eins zu imprtieren. Ich habe ein Json-File, "backrezepte.json", das z.B. so aussieht:
{
"Schokoladenkuchen": {
"ingredients": {
"Zutat": "Menge",
"Schokolade": "1 Tafel",
"Mehl": "250g"
},
"instructions": "Zubereitung",
"summary": "Kurzbeschreibung"
}
...
}
Ich würde es gerne in ein Dictionary umwandeln.
Habe schon im Internet gesucht aber nicht wirklich was gefunden.
Kann mir jemand helfen?
Json Datei in Dictionary umwandeln. Bräuchte dringend Hilfe.
@paupau90: Man findet bei einer Suche im Internet nicht das `json`-Modul in der Python-Dokumentation?
Ja da bin ich schon drauf gestoßen, aber leider weiß ich wie ich das jetzt auf mein Beispiel anwenen soll.
Könnte mir jemand eine Möglichkeit oder Beispiel schreiben? Ich besitze ja auch zwei verschiedene Python Bücher in denen leider
nichts darüber steht. Bitte teilt euer Wissen mit mir
Könnte mir jemand eine Möglichkeit oder Beispiel schreiben? Ich besitze ja auch zwei verschiedene Python Bücher in denen leider
nichts darüber steht. Bitte teilt euer Wissen mit mir
@paupau
Dann scroll' und lies' doch in der json-Dokumentation mal bis zu der Stelle... Dort steht, was Du suchst...
mutetella
Dann scroll' und lies' doch in der json-Dokumentation mal bis zu der Stelle... Dort steht, was Du suchst...
mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit )
@paupau90: Die Dokumentation des `json`-Moduls fängt mit *Beispielen* an wie man die Funktionen daraus verwendet. Und Du fragst nach einem Beispiel. Was soll man denn da noch schreiben?
Ich glaube ich bin heute blind . Ich habe bis jetzt:
>>> import json
>>> f=open("backrezepte.json")
>>> s=f.read().decode('utf_8')
>>> data=json.loads(s)
Nur dann habe ich eine Python-Datenstruktur.
Kann man das direkt in ein Dictionary also in ein assoziatives Array schreiben.
Falls das auch dort steht sehe ich es grad nur nicht, sorry .
>>> import json
>>> f=open("backrezepte.json")
>>> s=f.read().decode('utf_8')
>>> data=json.loads(s)
Nur dann habe ich eine Python-Datenstruktur.
Kann man das direkt in ein Dictionary also in ein assoziatives Array schreiben.
Falls das auch dort steht sehe ich es grad nur nicht, sorry .
@paupau90: Warum liest Du die Datei selber ein? Und ja, da bekommst Du dann eine Python-Datenstruktur. Was denn auch sonst? Man will das ja laden um den Inhalt verwenden zu können und in Python sind das öffensichtlich Python-Datentypen mit denen man direkt arbeiten kann.
Ich hab jetzt schon viel ausprobiert aber komme nicht drauf.
Also:
Das ist ja jetzt noch kein dict. Wie schreibe ich das am besten in ein dict?
Ich sehe das irgendwie auf der Python Seite nicht
Also:
Code: Alles auswählen
>>> import json
>>> json_file=open("backrezepte.json")
>>> json_str=json_file.read()
>>> json_data=json.loads(json_str)
Ich sehe das irgendwie auf der Python Seite nicht
Da kommt genau das raus was auch in "backrezepte.json" drin steckt. Wenn es kein Dictionary ist, dann kommt auch keins raus. Wie sieht denn die Datei aus und was erhältst du als Ergebnis?
Das Leben ist wie ein Tennisball.
Die Datei sieht so aus:EyDu hat geschrieben:Da kommt genau das raus was auch in "backrezepte.json" drin steckt. Wenn es kein Dictionary ist, dann kommt auch keins raus. Wie sieht denn die Datei aus und was erhältst du als Ergebnis?
Code: Alles auswählen
{
"Schokoladenkuchen": {
"ingredients": {
"Zutat": "Menge",
"Schokolade": "1 Tafel",
"Mehl": "250g"
},
"instructions": "Zubereitung",
"summary": "Kurzbeschreibung"
}
...
}
Es steht jetzt u'...' in den Daten.
Ähm, was? Etwas genauer und ausführlicher musst du schon werden. Was liefert denn einpaupau90 hat geschrieben:Das kommt bis jetzt raus:
Es steht jetzt u'...' in den Daten.
Code: Alles auswählen
print json_data
Das Leben ist wie ein Tennisball.
Ich erhalte beim Einlesen mit json.load()völlig korrekt ein Dictionary (wenn ich die 3 Punkte in der Datei weglasse).paupau90 hat geschrieben:Es steht jetzt u'...' in den Daten.
Bei Stackoverflow kann man das Problem übrigens mit der mangelhaften Informationslage so auch nicht nachvollziehen ...
@paupau90: JSON ist Unicode, dementsprechend werden die Zeichenketten-Werte auch in `unicode`-Objekte umgewandelt.