JSON naar Python
Converteer JSON naar Python-POJO-klassen voor Python-ontwikkeling
JSON-invoer
Python-uitvoer
Wat is JSON naar Python?
Python gebruikt dict en aangepaste klassen voor gestructureerde gegevens. Bij json.loads() krijgt u dicts. Dat werkt voor dynamische toegang, maar voor getypeerde toegang, IDE-ondersteuning en validatie heeft u vaak dataclasses of reguliere klassen nodig. De JSON-specificatie definieert objecten, arrays, strings, getallen en booleans—maar Python heeft expliciete klassendefinities nodig voor elke geneste structuur.
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
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].
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.
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:
Gegenereerde Python-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
Dataclass vs. reguliere klasse?
Dataclasses (Python 3.7+) leveren __init__, __repr__, __eq__ en meer gratis. Reguliere klassen hebben handmatige __init__ nodig. Beide werken met JSON-parsing. Dataclasses zijn de voorkeur voor modern Python.
Hoe zit het met Optional-typen?
Schakel Nullable Types in voor Optional[T] of T | None bij velden die kunnen ontbreken of null zijn. De union-syntax T | None vereist Python 3.10+.
Worden mijn gegevens ergens naartoe gestuurd?
Nee. Generatie vindt volledig plaats in uw browser met JavaScript. Er worden geen gegevens naar een server gestuurd. U kunt dit controleren via het netwerk-tabblad van uw browser.
Kan ik dit gebruiken met Pydantic?
De uitvoer is standaard Python. U kunt het aanpassen voor Pydantic door de basisklasse te wijzigen naar BaseModel en validators toe te voegen. Pydantic heeft ook eigen schema-generatie uit JSON.
snake_case vs. camelCase?
JSON gebruikt vaak camelCase; Python geeft de voorkeur aan snake_case. De generator gebruikt de JSON-sleutels ongewijzigd. Gebruik Field(alias="camelCase") in Pydantic of een aangepaste decoder voor 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.