Python till JSON-konverterare
Klistra in Python-dicts, dataclasses eller Pydantic-modeller. Få tillbaka ren JSON.
Vad verktyget gör
Om du någonsin har behövt göra om en Python-dict eller en dataclass till en JSON-payload för ett API-anrop, en test-fixture eller lite dokumentation så vet du hur tjatigt det blir — citattecken ska vändas, True/False blir true/false, None blir null, och datetime/Decimal måste serialiseras för hand. Klistra in Python här och få tillbaka giltig JSON som matchar exakt det json.dumps eller ett .model_dump_json()-anrop i Pydantic skulle spotta ur sig — utan att du behöver skriva limmet.
Det är inte bara en string-replace. Konverteraren fattar vad Python faktiskt gör vid serialisering: strängar med enkla citattecken blir dubbla, tuple kollapsar till JSON-arrayer, set och frozenset blir också arrayer, datetime och date kommer ut som ISO-8601-strängar enligt RFC 8259, Decimal åker ner till ett tal och Enum-medlemmar skickar ut sitt .value. Nästlade objekt expanderas på plats, så en dataclass som innehåller en lista av andra dataclasses round-trippar rent.
Pydantic-modeller (både v1 och v2) stöds. Fältaliaser satta via Field(alias=...) döper om nycklar i outputen, Optional-fält som är None bevaras som null, och Literal/Union-typer kommer ut som sitt runtime-värde. Klistra in en hel modul med flera klasser om du vill — var och en kommer ut som en top-level-post.
Så här kör du
Tre steg. Fungerar lika bra med en två-raders dict som med en 300-raders modul.
Klistra in din Python (eller testa exemplet)
Släpp in din Python i vänstra editorn som den är. En dict-literal, en dataclass-definition plus instans, en Pydantic-modell eller flera klasser med nästlade typer — allt funkar. Tryck på Load Sample om du vill se hur en realistisk input ser ut.
Du behöver inte ta bort importer eller decorators. Låt PEP 8-formateringen, type hints och dataclass-syntaxen vara.
Tryck på Convert
Klicka på den gröna Convert-knappen. Verktyget läser Pythonen, bygger objektgrafen och serialiserar den på samma sätt som json.dumps skulle göra — med indentering för läsbarhet. En kort laddningsindikator visas medan det kör.
Kopiera JSON:en
Höger panel fylls med pretty-printad JSON som är giltig enligt JSON-specen. Kopiera in den i din request body, din pytest-fixture, ditt FastAPI OpenAPI-exempel eller din konfigfil.
När det här verkligen sitter
Fixtures för API-requests
Du har en Pydantic request-modell och behöver ett JSON-body-exempel till Postman, curl eller ett Swagger-exempel. Klistra in modellen, få JSON, klart.
Data till pytest och enhetstester
Gör om en dataclass-instans från din testfil till en JSON-seed-fil för integrationstester eller snapshot-jämförelser — ingen custom encoder krävs.
Skelett för konfigfiler
En settings-dataclass med några dussin fält blir en färdig-att-editera JSON-mall, så du slipper hand-skriva klammrar för tionde gången.
Synka docs med kod
Generera JSON-exempel till en README eller API-referens direkt från de faktiska modellerna du redan har, så att dokumentationen inte kan glida ifrån koden.
Vanliga frågor
Funkar det med Pydantic v1 och v2?
Ja. Båda stöds, inklusive Field(alias=...), model_config, Field(default_factory=...) och nästlade modeller. Aliaser döper om nycklar i outputen och matchar vad Pydantic själv skulle skicka ut.
Hur hanteras datetime, Decimal och UUID?
datetime, date och time kommer ut som ISO-8601-strängar. Decimal åker ner till ett JSON-tal (utan citattecken). UUID blir en vanlig hex-sträng. bytes kodas i base64. Det här matchar konventionerna i Pythons json-modul när man kopplar in en custom encoder.
Hur blir det med Enum, Literal och Optional?
Enum-medlemmar skickar ut sitt .value. Literal["a", "b"] skickar ut runtime-strängen. Optional[X]-fält som är None kommer igenom som JSON null istället för att tappas bort — så din output-shape matchar type hints.
Kan jag klistra in en hel modul med flera klasser?
Ja. Varje top-level-klass med en instans i modulen kommer ut som en egen post i JSON:en. Nästlade dataclasses och Pydantic-modeller expanderas på plats, och ärvda fält från parent-klasser tas med.
Sparas min kod nånstans?
Koden skickas till backenden bara för att konverteras. Vi loggar eller lagrar den inte. Som med alla online-verktyg — om det du klistrar in är genuint känsligt, ögna igenom det först.
Tänk om Pythonen har nåt konstigt — lambdas, generators, fil-handles?
Icke-serialiserbara värden (funktioner, generators, öppna sockets) kommer ut som null istället för att spränga hela konverteringen. Har källan ett syntaxfel, fixa de uppenbara först — parsern är tolerant mot stilmässiga konstigheter men kan inte köra trasig kod.
Andra verktyg du kan behöva
Python till JSON är en pusselbit. Här är verktygen som passar bra ihop med det: