Omnikit
DevDateienFinanzenAlle Tools
Ctrl K
Dev-ToolsDatei-ToolsFinanzrechnerAlle Tools
StartseiteEntwickler-ToolsJSON-zu-Python-Klassen-Konverter
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский

JSON-zu-Python-Klassen-Konverter

dev

Machen Sie aus einem JSON-Beispiel Python-Dataclasses, Pydantic-Modelle oder TypedDicts mit Type Hints

Läuft in Ihrem Browser. Nichts, was Sie eingeben, wird irgendwohin gesendet. Geprüft am 16. Oktober 2026.

Fügen Sie ein JSON-Beispiel ein und erhalten Sie Python-Dataclasses, Pydantic-v2-Modelle oder TypedDicts mit Type Hints. Ganze Zahlen werden zu int, und jede Dezimalzahl macht ein Feld zu float; ein Wert, der null ist oder fehlt, wird zu str | None mit None als Standardwert, und alle 3 Klassenstile nutzen dieselbe Typableitung.

Diese Seite wurde maschinell aus dem englischen Original übersetzt. Die Übersetzung wurde noch von keinem Menschen geprüft; maßgeblich ist die englische Fassung. Englisches Original lesen

Weiter:
  • JSON to Zod Paste a JSON sample and get a Zod schema with its z.infer type, ready to copy
  • JSON-Formatierer und Validator JSON formatieren, validieren, minifizieren und sortieren, mit genauer Fehlerposition

So wandeln Sie JSON in eine Python-Klasse um

1

Fügen Sie ein JSON-Beispiel, etwa eine API-Antwort, in das linke Feld ein.

2

Die Python-Klassen erscheinen während der Eingabe: eine Klasse pro Objekt, mit Type Hints wie int, float, list[str] und str | None.

3

Wählen Sie dataclass, Pydantic oder TypedDict und die Typisierung von Python 3.9, wenn Ihr Projekt älter als 3.10 ist.

4

Klicken Sie auf Kopieren oder auf Herunterladen, um models.py zu speichern.

Über den JSON-zu-Python-Klassen-Konverter

Python liest JSON als Dictionaries ein, und erst eine Klasse mit Type Hints lässt einen Editor, einen Type Checker oder Pydantic einen falsch geschriebenen Schlüssel oder einen falschen Typ erkennen. Dieser Konverter schreibt diese Klassen aus einem Beispiel, sodass eine lange API-Antwort mit einem Einfügen zu typisiertem Python wird.

Wie die Typen gewählt werden.

JSON-Wert Python-Typ
"text" str
true / false bool
42 (nur ganze Zahlen) int
4.5 (irgendeine Dezimalzahl gesehen) float
null und zusätzlich ein Typ str | None oder Optional[str]
nur null oder gemischte Arten Any
[ ... ] list[...]
{ } leer dict[str, Any]
{ ... } eine eigene Klasse

Arrays von Objekten. Alle Objekte eines Arrays werden zu einer Klasse zusammengeführt, sodass ein Schlüssel, der nur in einigen vorkommt, trotzdem vorhanden ist, mit einem Typ, der None erlaubt, und None als Standardwert. Zwei Objekte mit genau denselben Schlüsseln und Typen teilen sich eine Klasse.

Drei Stile. Eine Dataclass braucht keine Installation; Felder mit Standardwert werden hinter die anderen gestellt, weil Python sonst einen TypeError auslöst. Pydantic-Modelle verwenden Attribute in snake_case mit Field(alias=...) für anders geschriebene Schlüssel wie userName oder first-name. Ein TypedDict behält die Schlüssel exakt bei und markiert die nur gelegentlich vorhandenen als NotRequired.

Reihenfolge und Namen. Die Klassen werden mit den Kindklassen zuerst geschrieben, sodass jeder Name vor seiner Verwendung definiert ist. Ein Schlüsselwort wie class wird zu class_, und ein Schlüssel, der einen Typ verdecken würde, wie list, erhält denselben Unterstrich.

Jeder Stil wurde geprüft, indem die Ausgabe unter CPython mit Pydantic 2 ausgeführt und das Beispiel validiert wurde. Nichts, was Sie einfügen, verlässt den Browser.

Häufig gestellte Fragen

Wie wandle ich JSON in eine Python-Klasse um?

Fügen Sie ein JSON-Beispiel in den Konverter ein, und die Python-Klassen erscheinen daneben, eine pro Objekt, mit einem Type Hint an jedem Attribut. Wählen Sie dataclass für einfache Klassen, Pydantic zur Validierung oder TypedDict, um weiter mit gewöhnlichen Dictionaries zu arbeiten, und kopieren Sie das Modul in Ihr Projekt.

Sollte ich eine Dataclass, ein Pydantic-Modell oder ein TypedDict verwenden?

Eine Dataclass eignet sich für Daten, die Sie selbst erzeugen, und braucht keine Bibliothek. Pydantic eignet sich für Daten von außen, etwa API-Antworten, weil es jeden Wert prüft und verschachtelte Objekte für Sie umwandelt. Ein TypedDict fügt dem Dictionary, das json.loads zurückgibt, nur Type Hints hinzu und kostet zur Laufzeit nichts.

Wie werden JSON-Schlüssel wie userName oder first-name behandelt?

Pydantic-Attribute werden in snake_case geschrieben, wie PEP 8 es verlangt, mit Field(alias="userName"), damit die Validierung weiterhin den ursprünglichen Schlüssel liest. Ein TypedDict behält jeden Schlüssel exakt bei und wechselt zur funktionalen Syntax, wenn ein Schlüssel kein gültiger Name ist. Eine Dataclass behält gültige Namen bei und vermerkt den Rest.

Warum hat ein Feld den Typ str | None oder Optional[str]?

Ein Schlüssel, der im Beispiel null war oder in manchen Objekten eines Arrays fehlt, kann None enthalten, also erlaubt sein Type Hint das. Fehlende Schlüssel erhalten außerdem None als Standardwert, und in einer Dataclass rücken diese Felder ans Ende, weil Python ein Feld ohne Standardwert nach einem mit Standardwert ablehnt.

Welche Python-Version braucht die Ausgabe?

Die Standard-Typisierung, etwa list[str] und str | None, braucht Python 3.10 oder neuer. Schalten Sie die Typisierung von Python 3.9 ein, um stattdessen Optional und List aus dem Modul typing zu erhalten. NotRequired für TypedDict kommt aus typing_extensions und steht ab Python 3.11 in typing selbst.

Wird mein JSON hochgeladen?

Nein. Die Umwandlung läuft in Ihrem Browser ohne Anfrage an einen Server, und das JSON wird nicht gespeichert, sodass API-Antworten mit Tokens oder persönlichen Daten auf Ihrem Gerät bleiben. Schließen Sie den Tab, und nichts bleibt zurück.

Quellen

  • Python documentation, dataclassesField order rule: no field without a default after one with a default
  • Python documentation, typing.TypedDict and NotRequiredClass and functional syntax, keys that may be missing
  • PEP 8, naming conventionsCapWords class names, snake_case attributes, a trailing underscore after a keyword
  • Pydantic documentation, fields and aliasesField(alias=...) to read a JSON key into another attribute name

Zuletzt geprüft am 16. Oktober 2026.

Sätze und Regeln ändern sich; prüfen Sie die Quelle, bevor Sie sich auf eine Zahl verlassen.

Kommen Sie nicht weiter? Fragen Sie zu JSON-zu-Python-Klassen-Konverter und jeder, der es weiß, kann antworten. Kein Konto nötig.

Ähnliche Tools

Alle Entwickler-Tools
Base64 kodieren und dekodierenText und Dateien in Base64 und zurück, mit URL-sicherem Modus und BildvorschauUnix-Timestamp-KonverterUnix-Timestamps in Datumsangaben und Datumsangaben in Timestamps, in jeder ZeitzoneJSON in TypeScript umwandelnTypeScript-Interfaces oder -Typen aus einem JSON-Beispiel erzeugenCSV in JSON umwandelnCSV in JSON und JSON in CSV umwandeln, mit TabellenvorschauYAML in JSON umwandelnYAML in JSON und JSON in YAML umwandeln, mit aufgelösten AnkernURL-Encoder und -DecoderText und URLs prozentkodieren oder dekodieren und jeden Teil eines Links sehenZahlensystem-UmrechnerBinär, oktal, dezimal, hexadezimal und jede Basis bis 36, exakt bei jeder Größe, mit ZweierkomplementColor ConverterHEX, RGB, HSL, HWB, OKLCH and CMYK in both directions, with a contrast check
War dieses Tool hilfreich?
Omnikit

Kleine Aufgaben, erledigt in Ihrem Browser. Kostenlos, schnell und privat. Dateien werden nie hochgeladen.

Dateien

  • Compress Image
  • Image to PDF
  • Merge PDF
  • Compress PDF
  • PDF to Word
  • Word to PDF

Dev

  • JSON Formatter & Validator
  • Base64 Encode & Decode
  • JWT Decoder, Verifier & Encoder
  • Password Generator
  • UUID Generator
  • Unix Timestamp Converter

Finanzen

  • SIP Calculator
  • EMI Calculator
  • GST Calculator
  • FD Calculator
  • PPF Calculator
  • Lumpsum Calculator
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский
AnleitungenFragenÜber unsWie wir prüfenGesetzesbibliothek (Beta)DatenschutzNutzungsbedingungenOffenlegungKontaktMore: Exam practice (UGC NET Paper 1)Läuft in Ihrem Browser. Nichts wird hochgeladen. © 2026 Omnikit (theomnikit.com)