Sobes.tech
Junior

Was sind die Unterschiede zwischen den Funktionen json.dumps und json.dump sowie json.loads und json.load?

sobes.tech KI

Antwort von AI

json.dumps (das s am Ende bedeutet String) wandelt ein Python-Objekt in eine JSON-formatierte Zeichenkette um.

json.dump wandelt ein Python-Objekt in eine JSON-Formatierte Zeichenkette um und schreibt sie in ein dateiähnliches Objekt (z.B. eine Datei) an dem angegebenen Pfad.

import json

daten = {'name': 'Alice', 'age': 30}

# json.dumps
json_string = json.dumps(daten, indent=4) # Wandelt das Objekt in eine Zeichenkette um
print(json_string)

# json.dump
with open('output.json', 'w') as f:
    json.dump(daten, f, indent=4) # Schreibt das Objekt in eine Datei

json.loads (wieder, das s bedeutet string) wandelt eine JSON-formatierte Zeichenkette zurück in ein Python-Objekt.

json.load liest Daten aus einem dateiähnlichen Objekt (z.B. einer Datei) im JSON-Format und wandelt sie zurück in ein Python-Objekt.

import json

json_string = '{"name": "Bob", "age": 25}'

# json.loads
python_objekt_von_string = json.loads(json_string) # Wandelt die Zeichenkette in ein Objekt um
print(python_objekt_von_string)

# json.load
with open('input.json', 'r') as f:
    python_objekt_von_datei = json.load(f) # Liest aus der Datei und wandelt um
print(python_objekt_von_datei)

Zusammenfassungstabelle der Unterschiede:

Funktion Eingabedaten Ausgabedaten Hauptzweck
json.dumps Python-Objekt String (JSON-Format) Objekt in String umwandeln für Übertragung/Storage
json.dump Python-Objekt Schreiben in Dateiobjekt Objekt in Datei umwandeln und speichern
json.loads String (JSON-Format) Python-Objekt String analysieren und in Objekt umwandeln
json.load Dateiobjekt Python-Objekt Aus Datei lesen und in Objekt umwandeln