JSON-zu-Pydantic-Modellgenerator

Generiere Pydantic-v2-Modellklassen aus einem JSON-Beispiel, sofort in deinem Browser. Dein JSON bleibt auf deinem Gerät.

Dein JSON wird vollständig in deinem Browser geparst und in Pydantic-Modelle konvertiert, sodass es auf deinem Gerät bleibt und nichts auf einen Server hochgeladen wird.

Brauchst du Go-, Rust- oder TypeScript-Typen? Probiere JSON zu Code.

Über JSON zu Pydantic

Dieser JSON-zu-Pydantic-Generator verwandelt ein JSON-Beispielobjekt oder -array in Sekunden in einsatzbereite Pydantic-v2-Modellklassen. Füge eine echte API-Antwort ein, und er leitet jeden Feldtyp ab – str, int, float und bool –, markiert nullbare Felder als Optional, vereinheitlicht Arrays zu list[...]-Typen und befördert jedes verschachtelte Objekt in ein eigenes, per Namen referenziertes BaseModel. Schlüssel, die keine gültigen Python-Bezeichner sind, werden per Field(alias=...) beibehalten, sodass das Modell deine ursprüngliche Payload weiterhin parst. Er ist für Python- und FastAPI-Entwickler gemacht, die lieber Pydantic-Modelle aus JSON generieren, als sie von Hand zu schreiben, während sie einen typisierten Client verdrahten. Alles läuft lokal in deinem Browser, sodass das eingefügte JSON auf deinem Gerät verarbeitet wird und nichts auf einen Server hochgeladen wird.

Funktionen

So verwendest du JSON zu Pydantic

  1. Füge dein JSON-Objekt oder -Array in das Eingabefeld ein.
  2. Setze den Namen des Root-Modells passend zu deinem Schema oder lass ihn als Model.
  3. Prüfe die generierten Pydantic-Klassen im Ausgabe-Panel.
  4. Kopiere das Ergebnis oder lade es als .py-Datei herunter.

Beispiel

Eingabe

{ "id": 1, "name": "Ada", "address": { "city": "London" } }

Ausgabe

from pydantic import BaseModel


class Address(BaseModel):
    city: str


class Model(BaseModel):
    id: int
    name: str
    address: Address

Ein verschachteltes Objekt wird zu einem eigenen BaseModel, mit der Root-Klasse zuletzt.

Häufige Fehler & Fehlerbehebung

Häufig gestellte Fragen

Generiert es Pydantic-v2-Modelle?
Ja. Die Ausgabe zielt auf Pydantic-v2-Syntax ab: Jedes Modell ist eine Klasse, die von BaseModel erbt, mit annotierten Feldern und Field(alias=...), wo ein JSON-Schlüssel kein gültiger Python-Bezeichner ist.
Wie werden verschachtelte Objekte behandelt?
Jedes verschachtelte Objekt wird zu einer eigenen BaseModel-Klasse, in PascalCase aus dem besitzenden Schlüssel benannt, und das übergeordnete Objekt referenziert es per Typ. Die Klassen werden in Abhängigkeitsreihenfolge ausgegeben, mit dem Root-Modell zuletzt.
Wie werden JSON-Typen auf Python-Typen abgebildet?
Strings werden zu str, Ganzzahlen zu int, Dezimalzahlen zu float, Booleans zu bool, null erzeugt Optional, Arrays werden zu list[...] mit einem vereinheitlichten Elementtyp und Objekte zu verschachtelten BaseModels.
Was passiert mit Schlüsseln, die keine gültigen Python-Namen sind?
Ein Schlüssel wie first-name oder 2fa, oder ein reserviertes Wort wie class, wird unter einem sicheren snake_case-Attribut verfügbar gemacht, und der ursprüngliche Schlüssel bleibt mit Field(alias="...") erhalten, sodass das Modell deine Payload weiterhin parst.
Wie werden Arrays und leere Arrays konvertiert?
Arrays werden zu list[...] mit dem vereinheitlichten Typ ihrer Elemente, einschließlich eines verschachtelten BaseModel für Arrays von Objekten. Ein leeres Array hat keinen Elementtyp zum Ableiten und wird daher zu list[Any].
Wird mein JSON irgendwohin gesendet, wenn ich Pydantic-Modelle generiere?
Nein. Die JSON-zu-Pydantic-Konvertierung läuft vollständig in deinem Browser, sodass die eingefügten Daten lokal verarbeitet werden und dein Gerät nie verlassen.

Verwandte Tools

Alle ArrayKit-Tools