Lim inn Python til venstre og klikk på "Konverter" — vi gjør det om til JSONLim inn Python-kode

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.

1

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.

2

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.

3

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: