Entwickler / Typen
JSON-zu-Python-Konverter
Wandle ein JSON-Beispiel in Python-Dataclasses, TypedDict-Definitionen oder Pydantic-Modelle um – mit verschachtelten Klassen, optionalen und nullable Feldern sowie snake_case-Namen.
JSON-zu-Python-Konverter: Der Konverter liest die Struktur des Beispiels: Aus jedem Objekt wird eine Klasse, Arrays werden zu list[...], und Objekte in einem Array werden zusammengeführt. Dadurch wird ein Schlüssel, der in manchen Datensätzen fehlt, optional. Ein Schlüssel, dessen Wert manchmal null ist, wird zu "| None". Schlüssel, die keine gültigen Python-Namen sind, werden in snake_case umgewandelt. Pydantic-Modelle behalten den ursprünglichen Schlüssel als Alias, und TypedDict wechselt in seine funktionale Form. Der erzeugte Code für mehrere anspruchsvolle Beispiele wurde in Python 3.13 ausgeführt; Pydantic hat das Beispiel damit validiert. Läuft zu 100% lokal in deinem Browser, ohne Datei-Uploads zum Server.
- Kategorie
- Entwicklerwerkzeuge
- Ausführungen
- In deinem Browser
- Kosten
- Kostenlos · ohne Anmeldung
- Verfügbarkeit
- Einsatzbereit
Läuft vollständig in deinem Browser
Python
from __future__ import annotations
from dataclasses import dataclass
@dataclass
class Address:
city: str
zip_code: str
@dataclass
class User:
id: int
user_name: str
avatar_url: str
score: float
tags: list[str]
address: Address
manager_id: int | None
nickname: str | None = None
UserList = list[User]
Für Python 3.10 oder höher. Schlüssel, die in einigen Objekten fehlen, werden optional; Schlüssel, die manchmal null sind, werden zu „| None“. Dataclasses ordnen umbenannte Schlüssel nicht wieder JSON zu. Verwende daher Pydantic, das Aliase ergänzt, wenn Schlüssel keine gültigen Python-Namen sind.
Von Typen zur Validierung
Typhinweise prüfen Daten nicht zur Laufzeit: json.loads liefert dir einfache dicts und lists, unabhängig davon, was die Annotationen angeben. Pydantic-Modelle validieren und konvertieren die Daten beim Parsen mit Model.model_validate(data) und melden jedes Feld, das nicht passt.
Dasselbe Beispiel in anderen Sprachen findest du unter JSON zu TypeScript und JSON zu Go; für einen sprachunabhängigen Vertrag unter JSON zu JSON Schema.
Ein gutes Beispiel erstellen
Füge mehrere Datensätze statt nur einem ein, darunter auch solche mit optionalen oder leeren Feldern. So kann der Konverter erkennen, welche Schlüssel immer vorhanden sind. Werte, die immer null oder leere Arrays sind, werden als Any ausgegeben und müssen von Hand ergänzt werden.
So benutzt du es
- Füge ein JSON-Beispiel ein, idealerweise ein Array mit mehreren typischen Datensätzen.
- Wähle Dataclasses, TypedDict oder Pydantic und gib den Typ der obersten Ebene an.
- Kopiere die generierten Klassen in dein Projekt.
Datenschutz & Einschränkungen
Das JSON wird in deinem Browser konvertiert und niemals hochgeladen.
Ähnliche Tools
Häufige Fragen
Welchen Stil sollte ich verwenden?
Pydantic zum Validieren und Einlesen von Daten aus einer API, TypedDict zum Typprüfen von Code, der einfache dicts weiterreicht, und Dataclasses für einfache interne Objekte, die du selbst erstellst.
Welche Python-Version benötigt der Code?
Python 3.10 oder höher für die Syntax X | None; NotRequired in TypedDict setzt 3.11 voraus. In älteren Versionen benötigst du typing_extensions.
Warum sind einige Felder als Any typisiert?
Ein Schlüssel, der immer null ist, oder ein leeres Array gibt keinen Hinweis auf seinen Typ. Ersetze Any durch den tatsächlichen Typ aus der Dokumentation deiner API.
Kostenloses Tool · läuft in deinem browser · kein Konto nötig