JSON zu Python
JSON in Python-POJO-Klassen für Python-Entwicklung umwandeln
JSON-Eingabe
Python-Ausgabe
Was ist JSON zu Python?
Python verwendet dict und benutzerdefinierte Klassen für strukturierte Daten. Bei json.loads() erhalten Sie Dicts. Das funktioniert für dynamischen Zugriff, aber für typisierten Zugriff, IDE-Unterstützung und Validierung brauchen Sie oft Dataclasses oder reguläre Klassen. Die JSON-Spezifikation definiert Objekte, Arrays, Strings, Zahlen und Booleans—aber Python benötigt explizite Klassendefinitionen für jede verschachtelte Struktur.
Dieses Tool erzeugt Python-Klassendefinitionen aus Ihrem JSON. Schalten Sie Dataclass, Typing und Nullable im Konfigurationspanel um. Dataclasses (Python 3.7+) liefern __init__, __repr__ und Gleichheit kostenlos. Nutzen Sie die Ausgabe mit json.loads() und manueller Zuordnung, oder passen Sie sie für Pydantic-Validierung an.
Die Konvertierung läuft vollständig in Ihrem Browser. Ihr JSON wird nie an einen Server gesendet. Sie können dies über die Netzwerk-Registerkarte Ihres Browsers prüfen.
So verwenden Sie dieses Tool
JSON einfügen oder hochladen
Kopieren Sie Ihr JSON und fügen Sie es in den linken Editor ein. Sie können auch auf Hochladen klicken, um eine .json- oder .txt-Datei zu laden. Nutzen Sie die Beispiel-Schaltfläche für Beispieldaten. Setzen Sie im Konfigurationspanel den Klassennamen (z.B. User) und Optionen: Dataclass für @dataclass, Typing für List[Type]-Annotationen, Nullable für Optional[T].
Generierte Klassen prüfen
Das rechte Panel zeigt den generierten Python-Code. Verschachtelte Objekte werden zu verschachtelten Klassen. Arrays erhalten <code>List[Type]</code> aus dem typing-Modul. Dataclasses nutzen <code>@dataclass</code>; sonst erhalten Sie reguläre Klassen mit <code>__init__</code>. Bei ungültiger JSON-Syntax nutzen Sie zuerst den JSON Formatierer oder den JSON Validator.
Kopieren oder Herunterladen
Nutzen Sie Kopieren, um das Ergebnis in die Zwischenablage zu legen, oder Herunterladen, um es als .py-Datei zu speichern. Für dynamische Typisierung reicht json.loads(). Für Validierung und Parsing siehe Pydantic.
Beispiele: JSON zu Python
Hier ein Beispiel für die Generierung von Python-Dataclasses aus einem JSON-Objekt.
Beispiel: Teilnehmerdatensatz
JSON-Eingabe:
Generierte Python-Ausgabe:
Wann JSON zu Python hilft
Die meisten Entwickler brauchen dies bei der Integration mit REST-APIs. Sie senden eine Anfrage über Postman, requests oder httpx, und die Antwort kommt als JSON. Einfügen hier liefert typisierte Klassen für strukturierten Zugriff. Für das Extrahieren spezifischer Werte aus großen Antworten funktioniert jq gut in der Kommandozeile.
Konfigurationsdateien, Webhook-Payloads oder Event-Streams sind oft JSON. Diese hier durchzulaufen hilft, die Struktur zu verstehen und Python-Klassen für Type Hints, Validierung oder Datenverarbeitungspipelines zu generieren.
Wenn Sie eine FastAPI- oder Flask-App bauen, die externe APIs konsumiert, verbessern typisierte Modelle die Codequalität und fangen Fehler früh ab. Die generierten Klassen können mit minimalen Änderungen für Pydantic angepasst werden.
Häufig gestellte Fragen
Dataclass vs. reguläre Klasse?
Dataclasses (Python 3.7+) liefern __init__, __repr__, __eq__ und mehr kostenlos. Reguläre Klassen brauchen manuelles __init__. Beide funktionieren mit JSON-Parsing. Dataclasses sind für modernes Python bevorzugt.
Was ist mit Optional-Typen?
Aktivieren Sie Nullable Types für Optional[T] oder T | None bei Feldern, die fehlen oder null sein können. Die Union-Syntax T | None erfordert Python 3.10+.
Werden meine Daten irgendwohin gesendet?
Nein. Die Generierung läuft vollständig in Ihrem Browser mit JavaScript. Keine Daten werden an einen Server gesendet. Sie können dies über die Netzwerk-Registerkarte Ihres Browsers prüfen.
Kann ich dies mit Pydantic nutzen?
Die Ausgabe ist Standard-Python. Sie können sie für Pydantic anpassen, indem Sie die Basisklasse auf BaseModel ändern und Validatoren hinzufügen. Pydantic hat auch eigene Schema-Generierung aus JSON.
snake_case vs. camelCase?
JSON verwendet oft camelCase; Python bevorzugt snake_case. Der Generator nutzt die JSON-Schlüssel unverändert. Verwenden Sie Field(alias="camelCase") in Pydantic oder einen benutzerdefinierten Decoder für die Zuordnung.
Verwandte Tools
Für Python-JSON-Handhabung siehe das Python json-Modul und Pydantic. Für JSON siehe JSON-Spezifikation, RFC 8259 und MDN. Siehe auch jq und Postman.