Python til JSON-konverter
Lim inn Python-dicts, dataclasses eller Pydantic-modeller. Få ren JSON tilbake.
Hva verktøyet gjør
Hvis du noen gang har måttet gjøre om en Python-dict eller en dataclass til en JSON-payload for et API-kall, en test-fixture eller litt dokumentasjon, så vet du hvor fort det blir tregt — hermetegn skal snus, True/False blir true/false, None blir null, og datetime/Decimal-verdier må serialiseres for hånd. Lim inn Python her og få tilbake gyldig JSON som er helt lik det json.dumps eller et .model_dump_json()-kall i Pydantic ville spyttet ut — uten at du skriver limet selv.
Det er ikke bare en string-replace. Konverteren skjønner hva Python faktisk gjør under serialisering: strenger med enkle hermetegn blir doble, tuple klapper sammen til JSON-arrays, set og frozenset blir også arrays, datetime og date kommer ut som ISO-8601-strenger per RFC 8259, Decimal faller ned til et tall, og Enum-medlemmer sender ut .value. Nestede objekter folder seg ut på stedet, så en dataclass med en liste av andre dataclasses round-tripper rent.
Pydantic-modeller (både v1 og v2) er støttet. Feltaliaser satt via Field(alias=...) gir nye navn til nøkler i outputet, Optional-felt som er None blir bevart som null, og Literal/Union-typer kommer ut som runtime-verdien sin. Lim inn en hel modul med flere klasser hvis du vil — hver enkelt kommer ut som sin egen top-level-oppføring.
Slik bruker du det
Tre steg. Funker likt enten du limer inn en to-linjers dict eller en 300-linjers modul.
Lim inn Python-koden din (eller prøv eksemplet)
Slipp Python-koden rett inn i editoren til venstre. En dict-literal, en dataclass-definisjon pluss instans, en Pydantic-modell eller flere klasser med nestede typer — alt funker. Trykk Load Sample hvis du vil se hvordan et realistisk input ser ut.
Du trenger ikke fjerne imports eller decorators. La PEP 8-formateringen, type hints og dataclass-syntaksen være i fred.
Trykk Convert
Klikk på den grønne Convert-knappen. Verktøyet leser Python-koden, bygger objektgrafen og serialiserer den på samme måte som json.dumps ville gjort — med innrykk for lesbarhet. En kort loading-indikator vises mens det går.
Kopier JSON-en
Panelet til høyre fylles med pretty-printet JSON som er gyldig per JSON-speccen. Kopier den inn i request-bodyen, pytest-fixturen, FastAPI OpenAPI-eksemplet eller konfigfilen din.
Når dette faktisk redder dagen
Fixtures for API-requests
Du har en Pydantic request-modell og trenger en sample JSON-body til Postman, curl eller et Swagger-eksempel. Lim inn modellen, få JSON, ferdig.
Data til pytest og unit tests
Gjør om en dataclass-instans fra testfilen din til en JSON-seed-fil for integrasjonstester eller snapshot-sammenligninger — ingen custom encoder nødvendig.
Stillas for konfigfiler
En settings-dataclass med noen og tjue felt blir en klar-til-redigering JSON-mal, så du slipper å taste klammer for tiende gang.
Holde docs i sync med koden
Generer JSON-eksempler for en README eller API-referanse rett fra de faktiske modellene du allerede har, så docsene ikke driver fra koden.
Vanlige spørsmål
Funker det med Pydantic v1 og v2?
Ja. Begge er støttet, inkludert Field(alias=...), model_config, Field(default_factory=...) og nestede modeller. Aliaser gir nye navn til nøkler i output og matcher det Pydantic selv ville sendt ut.
Hvordan håndteres datetime, Decimal og UUID?
datetime, date og time kommer ut som ISO-8601-strenger. Decimal faller ned til et JSON-tall (uten hermetegn). UUID blir en standard hex-streng. bytes base64-kodes. Dette matcher konvensjonene i Pythons json-modul når du kobler på en custom encoder.
Hva med Enum, Literal og Optional?
Enum-medlemmer sender ut .value. Literal["a", "b"] sender ut runtime-strengen. Optional[X]-felt som er None kommer gjennom som JSON null i stedet for å bli droppet — så output-formen matcher type hints.
Kan jeg lime inn en hel modul med flere klasser?
Ja. Hver top-level-klasse med en instans i modulen kommer ut som sin egen oppføring i JSON-en. Nestede dataclasses og Pydantic-modeller folder seg ut på stedet, og arvede felt fra parent-klasser kommer med.
Lagres koden min noe sted?
Koden sendes til backend kun for å bli konvertert. Vi logger eller lagrer den ikke. Som med alle online-verktøy — hvis det du limer inn er ordentlig sensitivt, les gjennom det først.
Hva om Python-koden har noe rart — lambdas, generators, filehandles?
Ikke-serialiserbare verdier (funksjoner, generators, åpne sockets) kommer ut som null i stedet for å velte hele konverteringen. Har kilden en syntaksfeil, fiks de åpenbare først — parseren tåler stil-rariteter, men kan ikke kjøre knekt kode.
Andre verktøy du kan trenge
Python til JSON er én brikke i puslespillet. Her er verktøyene som passer godt sammen med det: