JSON zu Python Klassen-Konverter
JSON einfügen, sofort Python-Klassen erhalten — dataclass, Pydantic v2 oder TypedDict. Korrekte Optional-Typen und camelCase-Aliase. 100 % im Browser, kostenlos.
Was ist die JSON-zu-Python-Konvertierung?
Die JSON-zu-Python-Konvertierung verwandelt ein JSON-Beispiel in einsatzbereite Python-Klassen — ein dataclass aus der Standardbibliothek, ein Pydantic-v2-Modell oder ein TypedDict — sodass Sie nie wieder Felddefinitionen für eine API-Antwort oder Konfigurationsdatei von Hand schreiben. Dieser Python-Klassen-Generator leitet korrekte Typen ab (int, float, str, bool, Optional), verwandelt verschachtelte Objekte in benannte Klassen und ergänzt Pydantic-Aliase für camelCase-Schlüssel — alles zu 100 % in Ihrem Browser.
Beispiele
API-Antwort → dataclass
{"id":101,"name":"Ada Lovelace","email":"ada@example.com","active":true,"roles":["admin","user"]} from dataclasses import dataclass
from typing import List
@dataclass
class Root:
id: int
name: str
email: str
active: bool
roles: List[str]
Eine typische REST-Nutzlast wird zu einem einsatzbereiten @dataclass. Ganzzahlen ergeben int, Dezimalzahlen ergeben float, und Arrays werden zu List[str].
Verschachteltes Objekt (Kindklasse zuerst)
{"repo":"pydantic","owner":{"login":"samuelcolvin","id":100}} from dataclasses import dataclass
@dataclass
class Owner:
login: str
id: int
@dataclass
class Root:
repo: str
owner: Owner
Verschachtelte Objekte werden zu separaten, benannten Klassen. Die Kindklasse (Owner) wird vor der Elternklasse ausgegeben, sodass der Code ohne from __future__ import annotations läuft.
camelCase → Pydantic-v2-Alias
{"login":"octocat","publicRepos":15,"createdAt":"2011-01-25"} from pydantic import BaseModel, ConfigDict, Field
class Root(BaseModel):
model_config = ConfigDict(populate_by_name=True)
login: str
public_repos: int = Field(alias="publicRepos")
created_at: str = Field(alias="createdAt")
Im Pydantic-Modus sind die Felder snake_case, wobei Field(alias=...) auf den ursprünglichen JSON-Schlüssel zurückverweist, und populate_by_name lässt Sie das Modell auf beide Arten erstellen — so validiert es echte API-Daten im Roundtrip.
Array von Objekten → TypedDict (optionaler Schlüssel)
{"users":[{"id":1,"nick":"x"},{"id":2}]} from typing import List, Optional, TypedDict
class User(TypedDict):
id: int
nick: Optional[str]
class Root(TypedDict):
users: List[User]
Arrays von Objekten werden zu einem Element-Typ zusammengeführt. Ein Schlüssel, der in manchen Elementen fehlt (nick), wird zu Optional. TypedDict beschreibt die Form eines schlichten dict ohne Laufzeit-Overhead.
So konvertieren Sie JSON nach Python
- 1
JSON einfügen
Fügen Sie ein JSON-Objekt, ein Array oder eine API-Antwort in das Eingabefeld ein. Die Konvertierung startet sofort.
- 2
dataclass, Pydantic oder TypedDict wählen
Schalten Sie den Ausgabestil passend zu Ihrem Projekt um und benennen Sie die Root-Klasse vom Standard Root um.
- 3
Kopieren oder herunterladen
Übernehmen Sie den erzeugten Python-Code mit einem Klick und fügen Sie ihn direkt in Ihren Code ein.
Common Use Cases
- Typisierte API-Clients
- Verwandeln Sie eine Beispiel-Antwort von REST oder GraphQL in Pydantic-Modelle oder dataclasses für einen requests- oder httpx-Client, ohne Felddefinitionen von Hand zu schreiben.
- Konfigurations- und Fixture-Parsing
- Erzeugen Sie Modelle für JSON-Konfigurationsdateien, Test-Fixtures oder Webhook-Nutzlasten, die Sie laden und validieren müssen.
- Schnelles Prototyping und Typhinweise
- Fügen Sie eine unbekannte Nutzlast ein, um ihre Struktur sofort als Python-Typen zu sehen — eine schnelle Möglichkeit, eine neue API zu erkunden oder Legacy-dict-Code TypedDict-Hinweise hinzuzufügen.
Wie die Konvertierung funktioniert
- Strukturelle Inferenz
- Jedes Objekt wird zu einer benannten Klasse; identische Formen werden dedupliziert, sodass Sie eine Klasse erhalten und keine Kopien. Arrays von Objekten werden Schlüssel für Schlüssel zusammengeführt, und Schlüssel, die in manchen Elementen fehlen, werden zu Optional.
- Drei idiomatische Ziele
- dataclass kommt ohne Abhängigkeiten aus und behält gültige Schlüssel für Root(**data); Pydantic v2 ergänzt Field-Aliase plus populate_by_name für echte Validierung; TypedDict beschreibt ein schlichtes dict für statische Typprüfer und nutzt die funktionale Syntax, wenn ein Schlüssel kein Bezeichner ist.
- Korrekte, abhängigkeitsarme Typisierung
- Ganzzahlen werden zu int (beliebig genau, kein Überlauf), Dezimalzahlen und Exponenten zu float und reine null-Felder zu Optional[Any]. typing-Importe (Optional, List, Any) werden nur dann hinzugefügt, wenn sie tatsächlich verwendet werden.
- 100 % clientseitig
- Parsing und Generierung laufen in Ihrem Browser ohne Netzwerkaufrufe, sodass Ihre Daten privat bleiben.
Tipps für saubere Python-Modelle
- Modus zur Aufgabe passend wählen
- Verwenden Sie dataclass für interne Datencontainer, Pydantic v2, wenn Sie nicht vertrauenswürdige Eingaben validieren oder parsen, und TypedDict, wenn Sie nur statische Typhinweise über bestehende dicts benötigen.
- Repräsentatives Beispiel einfügen
- Felder werden nur dann als Optional markiert, wenn ein Beispiel sie auslässt, und reine null-Werte fallen auf Any zurück. Ein ausgefülltes, vollständiges Beispiel liefert die genauesten Typen.
- Root-Klasse benennen
- Vergeben Sie einen aussagekräftigen Root-Namen (User, ApiResponse) statt des Standards Root für lesbaren, importierbaren Code.
Häufig gestellte Fragen
Wie konvertiere ich JSON in eine Python-Klasse?
Was ist der Unterschied zwischen dataclass-, Pydantic- und TypedDict-Ausgabe?
Wie erzeuge ich ein Pydantic-Modell aus JSON?
Wie behandelt die dataclass-Ausgabe camelCase-Schlüssel?
Wie werden optionale und null-Felder typisiert?
Auf welchen Python-Typ wird jeder JSON-Wert abgebildet?
Verarbeitet es verschachtelte Objekte und Arrays von Objekten?
Wie werden Python-Schlüsselwörter und Nicht-Bezeichner-Schlüssel behandelt?
Wie verwende ich die erzeugte dataclass, um JSON zu parsen?
Sind meine JSON-Daten privat und sicher?
Ist das Werkzeug kostenlos? Brauche ich ein Konto?
Verwandte Werkzeuge
Alle Werkzeuge anzeigen →Base64-Dekodierer & -Kodierer
Kodierung & Formatierung
Base64 online kostenlos dekodieren und kodieren. Echtzeitkonvertierung mit voller UTF-8- und Emoji-Unterstützung. 100 % privat — läuft in Ihrem Browser. Keine Anmeldung nötig.
Base64-in-Bild-Konverter
Kodierung & Formatierung
Eine Base64-Zeichenkette oder einen Data-URI im Browser zurück in ein Bild dekodieren. Vorschau, Abmessungen & MIME ablesen, dann als PNG, JPG, GIF, SVG herunterladen. Kein Upload.
CSV-zu-JSON-Konverter
Kodierung & Formatierung
CSV im Browser nach JSON konvertieren. RFC 4180, Typinferenz, Kopfzeile, Big-Int-sicher. 100 % privat, kein Upload.
.env zu JSON Konverter
Kodierung & Formatierung
Eine .env-Datei einfügen, sofort JSON erhalten. Datenbankpasswörter, API-Keys und Tokens verlassen nie deinen Browser — 100% privat, kein Upload.
Kostenloser HTML-Entity-Decoder — HTML dekodieren
Kodierung & Formatierung
HTML-Entities dekodieren und HTML online unescapen — kostenlos, ohne Anmeldung, 100 % im Browser. Wandelt benannte, dezimale & Hex-Referenzen zurück in Zeichen; nichts wird hochgeladen.
Kostenloser HTML-Entity-Encoder — HTML escapen
Kodierung & Formatierung
HTML-Entities kodieren und Sonderzeichen escapen (< > & " ') — online, kostenlos, ohne Anmeldung, 100 % im Browser. Benannte, dezimale oder Hex-Ausgabe; nichts wird hochgeladen.