Python til JSON-konverter
Indsæt Python-dicts, dataclasses eller Pydantic-modeller. Få ren JSON tilbage.
Hvad værktøjet gør
Hvis du nogensinde har skullet lave en Python-dict eller en dataclass om til en JSON-payload til et API-kald, en test-fixture eller lidt dokumentation, så ved du hvor hurtigt det bliver kedeligt — citationstegn skal vendes, True/False bliver til true/false, None bliver null, og datetime/Decimal-værdier skal serialiseres i hånden. Indsæt Python her og få gyldig JSON tilbage, præcis som json.dumps eller et .model_dump_json()-kald i Pydantic ville spytte ud — uden at du selv skal skrive limen.
Det er ikke bare et string-replace. Konverteren forstår hvad Python faktisk gør ved serialisering: strenge med enkelte citationstegn bliver til dobbelte, tuple klapper sammen til JSON-arrays, set og frozenset bliver også til arrays, datetime og date kommer ud som ISO-8601-strenge efter RFC 8259, Decimal falder ned til et tal, og Enum-medlemmer sender deres .value ud. Nestede objekter foldes ud på plads, så en dataclass med en liste af andre dataclasses round-tripper rent.
Pydantic-modeller (både v1 og v2) er understøttet. Feltaliaser sat via Field(alias=...) omdøber nøgler i output, Optional-felter der er None bliver bevaret som null, og Literal/Union-typer kommer ud som deres runtime-værdi. Indsæt et helt modul med flere klasser hvis du vil — hver enkelt kommer ud som sin egen top-level-post.
Sådan bruger du det
Tre trin. Virker ens, uanset om du indsætter en to-linjers dict eller et 300-linjers modul.
Indsæt din Python (eller prøv eksemplet)
Smid din Python i venstre editor som den er. En dict-literal, en dataclass-definition plus instans, en Pydantic-model eller flere klasser med nestede typer — det hele virker. Tryk på Load Sample hvis du vil se hvordan et realistisk input ser ud.
Du behøver ikke fjerne imports eller decorators. Lad PEP 8-formateringen, type hints og dataclass-syntaksen være i fred.
Tryk på Convert
Klik på den grønne Convert-knap. Værktøjet læser Pythonen, bygger objektgrafen og serialiserer den på samme måde som json.dumps ville — med indrykning for læsbarhed. En kort loading-indikator vises mens det kører.
Kopier JSON
Højre panel fyldes med pretty-printet JSON som er gyldig efter JSON-specen. Kopier den ind i din request body, din pytest-fixture, dit FastAPI OpenAPI-eksempel eller din konfigfil.
Hvornår det faktisk redder dagen
Fixtures til API-requests
Du har en Pydantic request-model og mangler en sample JSON-body til Postman, curl eller et Swagger-eksempel. Indsæt modellen, få JSON, færdig.
Data til pytest og unit tests
Lav en dataclass-instans fra din testfil om til en JSON-seed-fil til integrationstests eller snapshot-sammenligninger — ingen custom encoder nødvendig.
Skelet til konfigfiler
En settings-dataclass med nogle og tyve felter bliver en klar-til-redigering JSON-template, så du ikke taster krøllede parenteser i hånden for tiende gang.
Synk docs med kode
Generer JSON-eksempler til en README eller API-reference direkte fra de faktiske modeller du allerede har, så docsene ikke kan drifte fra koden.
Typiske spørgsmål
Virker det med Pydantic v1 og v2?
Ja. Begge er understøttet, inklusive Field(alias=...), model_config, Field(default_factory=...) og nestede modeller. Aliaser omdøber nøgler i output og matcher hvad Pydantic selv ville sende ud.
Hvordan håndteres datetime, Decimal og UUID?
datetime, date og time kommer ud som ISO-8601-strenge. Decimal falder ned til et JSON-tal (uden citationstegn). UUID bliver en standard hex-streng. bytes kodes i base64. Det matcher konventionerne i Pythons json-modul, når du hægter en custom encoder på.
Hvad med Enum, Literal og Optional?
Enum-medlemmer sender deres .value ud. Literal["a", "b"] sender runtime-strengen ud. Optional[X]-felter der er None kommer igennem som JSON null i stedet for at blive droppet — så din output-shape matcher type hints.
Kan jeg indsætte et helt modul med flere klasser?
Ja. Hver top-level-klasse med en instans i modulet kommer ud som sin egen post i JSON. Nestede dataclasses og Pydantic-modeller foldes ud på plads, og nedarvede felter fra parent-klasser kommer med.
Bliver min kode gemt nogen steder?
Koden sendes til backend kun for at blive konverteret. Vi logger eller gemmer den ikke. Som med alle online-værktøjer — er det du indsætter virkelig følsomt, så kig det igennem først.
Hvad hvis Pythonen har noget sært — lambdas, generators, filehandles?
Ikke-serialiserbare værdier (funktioner, generators, åbne sockets) kommer ud som null i stedet for at sprænge hele konverteringen. Har kilden en syntaksfejl, så ret de åbenlyse først — parseren er tolerant over for stil-særheder men kan ikke køre brækket kode.
Andre værktøjer du måske får brug for
Python til JSON er ét stykke af puslespillet. Her er værktøjerne som spiller godt sammen med det: