JSON-invoer

Python-uitvoer

Wat is JSON naar Python?

Je hebt een API aangeroepen, een JSON-response gekregen, en nu benader je alles met response["data"]["user"]["email"] — geen autocomplete, geen typecontrole, en een typfout leidt direct tot een KeyError. json.loads() geeft je een dict, wat prima is voor snelle scripts. Maar voor echte applicatiecode zijn getypeerde dataclasses of Pydantic-modellen veel beter. Dit hulpmiddel genereert Python-klassen direct uit je JSON — plak het erin, ontvang gestructureerde Python-uitvoer en plak het in je project.

Dit hulpmiddel genereert Python-klassendefinities uit uw JSON. Schakel Dataclass, Typing en Nullable in het configuratiepaneel in. Dataclasses (Python 3.7+) leveren __init__, __repr__ en gelijkheid gratis. Gebruik de uitvoer met json.loads() en handmatige mapping, of pas aan voor Pydantic-validatie.

Conversie vindt volledig plaats in uw browser. Uw JSON wordt nooit naar een server gestuurd. U kunt dit controleren via het netwerk-tabblad van uw browser.

Hoe dit hulpmiddel te gebruiken

1

JSON plakken of uploaden

Kopieer uw JSON en plak het in de linker editor. U kunt ook op Uploaden klikken om een .json- of .txt-bestand te laden. Gebruik de Voorbeeld-knop voor voorbeeldgegevens. Stel in het configuratiepaneel de klassenaam (bijv. User) en opties in: Dataclass voor @dataclass, Typing voor List[Type]-annotaties, Nullable voor Optional[T].

2

Gegenereerde klassen controleren

Het rechterpaneel toont de gegenereerde Python-code. Geneste objecten worden geneste klassen. Arrays krijgen List[Type] uit de typing-module. Dataclasses gebruiken @dataclass; anders krijgt u reguliere klassen met __init__. Bij ongeldige JSON-syntax gebruik eerst de JSON Formatter of de JSON Validator.

3

Kopiëren of downloaden

Gebruik Kopiëren om het resultaat op het klembord te zetten, of Downloaden om het als .py-bestand op te slaan. Plak in uw project. Voor dynamische typecontrole is json.loads() voldoende. Voor validatie en parsing zie Pydantic.

Voorbeelden: JSON naar Python

Hier is een voorbeeld van het genereren van Python-dataclasses uit een JSON-object.

Voorbeeld: Abonneerecord

JSON-invoer:

Invoer

Gegenereerde Python-uitvoer:

Uitvoer

Waar JSON naar Python helpt

De meeste ontwikkelaars hebben dit nodig bij integratie met REST-API's. U stuurt een verzoek via Postman, requests of httpx, en het antwoord komt als JSON. Hier plakken levert getypeerde klassen voor gestructureerde toegang. Voor het extraheren van specifieke waarden uit grote antwoorden werkt jq goed vanuit de opdrachtregel.

Configuratiebestanden, webhook-payloads of event-streams zijn vaak JSON. Deze hier doorlopen helpt de structuur te begrijpen en Python-klassen te genereren voor type hints, validatie of gegevensverwerkingspijplijnen.

Als u een FastAPI- of Flask-app bouwt die externe API's gebruikt, verbeteren getypeerde modellen de codekwaliteit en vangen fouten vroeg op. De gegenereerde klassen kunnen met minimale aanpassingen voor Pydantic worden aangepast.

Veelgestelde vragen

Hoe converteer ik JSON automatisch naar een Python-dataclass?

Plak je JSON in dit hulpmiddel, schakel de Dataclass-optie in, en het genereert een @dataclass-klasse voor elk genest object. Kopieer het naar je project — werkt met Python 3.7+.

Wat is het verschil tussen een dataclass en een reguliere klasse voor JSON?

Dataclasses (Python 3.7+) genereren automatisch __init__, __repr__ en __eq__. Reguliere klassen hebben handmatige __init__ nodig. Voor de meeste API-werkzaamheden zijn dataclasses overzichtelijker. Voor validatie, overweeg Pydantic.

Worden mijn gegevens ergens naartoe gestuurd?

Nee. Alles draait in je browser. Je JSON verlaat je machine nooit — veilig voor productie-API-responses of gevoelige gegevens.

Kan ik dit gebruiken met Pydantic?

De uitvoer is standaard Python. Voor Pydantic, verander de basisklasse naar BaseModel en verwijder @dataclass. Pydantic heeft ook een model_validate()-methode die het parsen vanuit een dict automatisch afhandelt.

Hoe zit het met snake_case vs. camelCase?

JSON gebruikt typisch camelCase; de Python-conventie is snake_case. De generator gebruikt JSON-sleutels zoals ze zijn. Voor Pydantic, gebruik model_config = ConfigDict(populate_by_name=True) en Field(alias="camelCaseKey") voor de mapping.

Gerelateerde hulpmiddelen

Voor Python-JSON-verwerking zie de Python json-module en Pydantic. Voor JSON zie JSON-specificatie, RFC 8259 en MDN. Zie ook jq en Postman.