← Alle Tools Code Gen

JSON zu Python Konverter

JSON mit einem Klick in typisierte Python-dataclasses, TypedDict oder Pydantic-Modelle umwandeln.

Drei Python-Typ-Paradigmen

Python bietet drei Hauptansätze für typisierte Datenstrukturen. dataclass (aus der Standardbibliothek) generiert eine Klasse mit __init__, __repr__ und Typ-Hinweisen — der portabelste Ansatz ohne Drittanbieter-Abhängigkeiten. TypedDict (typing-Modul) beschreibt die Form eines Dictionaries ohne neue Klasse — bevorzugt bei Code der normale Dicts erwartet. Pydantic BaseModel fügt Laufzeit-Validierung, Serialisierung und JSON-Schema-Generierung hinzu — der Goldstandard für API-Modelle und Konfigurationsverwaltung.

Der Konverter leitet Python-Typen aus JSON ab: JSON-Zeichenketten werden zu str, Zahlen ohne Dezimalstellen zu int, Zahlen mit Dezimalstellen zu float, Booleans zu bool, null zu None (und der Feldtyp zu Optional[T]), verschachtelte Objekte zu einer verschachtelten Klasse und Arrays zu list[T]. Bei Arrays mit gemischten Elementtypen wird der Elementtyp zu einer Union.

Verschachtelte Objekte generieren separate Klassendefinitionen die über der referenzierenden Klasse platziert werden und Python-Vorwärtsreferenz-Regeln einhalten.

Pydantic-spezifische Funktionen

Bei Pydantic-Ausgabe verwendet der Generator pydantic.BaseModel als Basisklasse und fügt Field()-Annotationen für Standardwerte und Beschreibungen hinzu. Pydantic v2-Syntax wird standardmäßig verwendet (model_config = ConfigDict(...)) mit einem Toggle für v1-Kompatibilität (class Config).

Feldnamen die Python-reservierte Wörter sind oder Zeichen enthalten die in Python-Bezeichnern illegal sind (Bindestriche, Leerzeichen, Punkte) werden automatisch mit snake_case-Konventionen umbenannt und ein alias=-Argument hinzugefügt, damit Pydantic den ursprünglichen JSON-Schlüssel weiterhin parsen kann.

Die Option model_config populate_by_name=True wird standardmäßig ausgegeben, damit Pydantic-Modelle entweder über den Alias (JSON-konform) oder den Python-Feldnamen instanziiert werden können.

Workflow und Integration

Fügen Sie eine JSON-API-Antwort ein und erhalten Sie sofort typisierte Python-Klassen, die Sie in eine FastAPI-Route, einen Django REST Framework-Serialisierer oder ein Datenverarbeitungsskript einbauen können.

Beim Erkunden eines neuen Datensatzes macht das Generieren typisierter Klassen nachgelagerten Code sicherer und lesbarer. IDEs wie PyCharm und VS Code bieten Autovervollständigung und Typprüfung gegen die generierten Typen.

Data-Engineering-Pipelines profitieren von Pydantic-Modellen mit strenger Validierung: Jeder nicht schemenkonformige Datensatz löst früh im Pipeline einen ValidationError aus statt stillschweigend weiter unten zu versagen.

FAQ

Werden meine Daten an einen Server gesendet?

Nein. Die gesamte Verarbeitung findet vollständig in Ihrem Browser statt. Ihr JSON verlässt Ihr Gerät nie.

Welche Ausgabe soll ich wählen — dataclass, TypedDict oder Pydantic?

Verwenden Sie dataclass für allgemeine typisierte Datencontainer ohne Zusatzabhängigkeiten. TypedDict für die Annotation von dict-zurückgebenden Funktionen. Pydantic für Laufzeit-Validierung, JSON-Parsing oder bei der Entwicklung mit FastAPI.

Wie werden Python-reservierte Wörter als Feldnamen behandelt?

Reservierte Wörter wie "from", "class", "type" und "import" werden mit einem abschließenden Unterstrich umbenannt (z.B. from_) und ein Alias hinzugefügt, damit der ursprüngliche JSON-Schlüssel korrekt geparst wird.

Unterstützt die Ausgabe Python 3.9+-Syntax?

Ja. Der Generator verwendet standardmäßig eingebaute generische Typen (list[str], dict[str, int]) seit Python 3.9. Ein Python 3.8-Kompatibilitätsmodus verwendet typing.List, typing.Dict usw.

Was passiert mit Arrays von Objekten?

Jedes Objekt-Array generiert eine eigene benannte Klasse für den Elementtyp und das Feld wird als list[Klassenname] typisiert. Dieselbe Klasse wird wiederverwendet wenn dieselbe Struktur mehrfach erscheint.

Ähnliche Tools