Zum Hauptinhalt springen

JSON speichern

Beispiel

import json

daten = {
"name": "Luna",
"punkte": 120
}

with open("score.json", "w", encoding="utf-8") as f:
json.dump(daten, f, ensure_ascii=False, indent=2)

print("Gespeichert.")
  • dump schreibt in die Datei
  • indent=2 macht die Datei lesbar
  • ensure_ascii=False hilft bei Umlauten

Liste speichern

import json
scores = [
{"name": "Luna", "punkte": 10},
{"name": "Lily", "punkte": 15}
]
with open("scores.json", "w", encoding="utf-8") as f:
json.dump(scores, f, indent=2)

Rate mal!

Was speichert dump – den Bildschirm oder die Datei?

Auflösung

Die Datei (über den Datei-Handle f).

Probiere es selbst

Experiment 1

Dict speichern.

Experiment 2

Datei im Editor anschauen.

Experiment 3

Zweites Dict überschreiben (w).

Fehlerdetektiv

import json
json.dump({"a": 1}, "score.json")
Lösung

Zweites Argument muss ein Datei-Objekt sein, nicht nur der Name:

with open("score.json", "w", encoding="utf-8") as f:
json.dump({"a": 1}, f)

Übungen

Level 1

Speichere {"level": 1}.

Level 2

Speichere deinen Steckbrief.

Level 3

Liste mit 3 Highscore-Einträgen speichern.

Level-1-Lösung
import json
with open("level.json", "w", encoding="utf-8") as f:
json.dump({"level": 1}, f, indent=2)

Mini-Quiz

Mini-QuizWelche Funktion speichert JSON in eine Datei?

Speichern sitzt! Als Nächstes: laden.