Kotlin till JSON-konverterare
Klistra in Kotlin data classes eller objekt. Få tillbaka ren JSON.
Vad det här verktyget gör
Har du någonsin behövt handskriva en JSON-payload som speglar en data class i Kotlin — till ett unit test, en fixture eller ett API-anrop — så vet du hur mycket pyssel det är. Normalt drar du in kotlinx.serialization, annoterar klassen och kör appen för att fånga outputen. Klistra in Kotlin här och få giltig JSON tillbaka utan något av det — ingen Gradle-plugin, ingen @Serializable, ingen runtime.
Konverteraren respekterar hur Kotlin-värden faktiskt serialiseras. val price: Double = 49.99 blir ett JSON-nummer, val tags: List<String> blir en JSON-array, och val address: Address? med null blir JSON null. Instant, LocalDate och LocalDateTime från kotlin.stdlib kommer ut som ISO-8601-strängar. UUID blir en standard hex-sträng. Map<String, V> blir ett JSON-objekt, och värden i en enum class kommer ut som sitt string-namn — exakt det beteende du skulle få av Gson eller jackson-module-kotlin.
Serialiseringsannotationer respekteras. @SerialName("x") döper om JSON-nyckeln, @Transient droppar propertyn. Default-parametervärden skrivs ut när propertyn inte är explicit satt. Klistra in flera data class-er på en gång och var och en kommer ut som en topp-entry, med nästlade typer expanderade och sealed class-hierarkier utplattade till sina varianter. Om du shippar en Android-app så går outputen rakt in i Retrofit-fixtures och Room-test-seeds.
Så använder du det
Tre steg. Funkar likadant oavsett om du klistrar in en enstaka instans eller en hel fil full med data classes.
Klistra in din Kotlin (eller ladda exemplet)
Släpp din Kotlin i vänstra editorn som den är. En data class, en vanlig klass, en object-deklaration, flera klasser eller sealed-hierarkier — allt funkar. Klicka på Ladda exempel för att först se ett realistiskt case.
Du behöver inte ta bort import-satser, packages eller annotationer. Låt Kotlin-syntaxen stå som den är — companion objects och backing fields går också bra.
Tryck Konvertera
Klicka på den gröna Konvertera-knappen. Verktyget läser Kotlinen, behåller varje data class och property, och matar ut JSON i ett svep. Under tiden snurrar en kort loading-indikator.
Kopiera JSON:en
Höger panel fylls med indenterad JSON. Kopiera in det i ditt Retrofit-test, en Room-fixture, dina OpenAPI-exempel eller en REST-klient. Det är hela loopen.
När det faktiskt kommer till nytta
API-fixtures för Android-appar
Du har en Retrofit-requestmodell och behöver en JSON-payload att slänga in i MockWebServer eller Postman. Klistra in data class, ta JSON:en, vidare.
Testdata för backend
En Ktor- eller Spring-service med 30 data classes. Konvertera varje till JSON-seed-filer för integrationstest utan att skriva en enda <code>@Serializable</code>-annotation.
Docs som håller sig i synk
Generera JSON-exempel till din OpenAPI-spec eller API-referens direkt från de riktiga data classerna, så dokumentationen aldrig driver iväg från modellerna.
Startskelett för config-filer
En Settings data class med ett par dussin properties blir en redigeringsklar JSON-mall — ingen handskriven boilerplate.
Vanliga frågor
Behöver jag ha kotlinx.serialization eller Jackson installerat?
Nej. Det här verktyget kör server-side och kompilerar inte din kod — du får JSON utan plugin. Vill du ha runtime-serialisering i din app är kotlinx.serialization det native valet; jackson-module-kotlin funkar också.
Respekterar det @SerialName, @Transient och @JsonProperty?
Ja. @SerialName("x") och @JsonProperty("x") döper om JSON-nyckeln, och @Transient / @JsonIgnore tar bort propertyn från outputen — i linje med kotlinx.serialization-semantiken.
Hur är det med Instant, LocalDate och UUID?
Instant, LocalDate, LocalDateTime och ZonedDateTime kommer alla ut som ISO-8601-strängar. UUID blir en standard 8-4-4-4-12 hex-sträng. Duration blir en duration-sträng.
Hur hanteras nullables, sealed classes och enums?
Nullable properties med värdet null blir JSON null; annars serialiseras den inre typen som vanligt. Sealed class-instanser innehåller en type discriminator som default (konfigurerbart om du använder kotlinx.serialization). Enums kommer ut som sitt string-namn om de inte är annoterade annorlunda.
Sparas min kod?
Din kod skickas till backend för konvertering och sparas inte — vi loggar inte payloaden. Som alltid, kasta ett öga på känslig kod innan du klistrar in.
Funkar det för både Kotlin/JVM och Kotlin Multiplatform?
Ja. Så länge syntaxen är giltig Kotlin bryr sig konverteraren inte om targetet är JVM, JS, Native eller Multiplatform. Plattformsspecifika typer som saknar JSON-representation (som Job eller Flow) kommer ut som null.
Andra verktyg du kanske behöver
Kotlin till JSON är en pusselbit. De här passar bra ihop med det: