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

Hva dette verktøyet gjør

Har du noen gang måttet håndskrive en JSON-payload som speiler en data class i Kotlin — til en unit test, en fixture eller et API-kall — så vet du hvor mye pirk det er. Vanligvis drar du inn kotlinx.serialization, annoterer klassen og kjører appen for å fange outputtet. Lim inn Kotlin her og få gyldig JSON tilbake uten noe av det — ingen Gradle-plugin, ingen @Serializable, ingen runtime.

Konverteren respekterer hvordan Kotlin-verdier faktisk serialiseres. val price: Double = 49.99 blir til et JSON-tall, val tags: List<String> blir til en JSON-array, og val address: Address? med null blir til JSON null. Instant, LocalDate og LocalDateTime fra kotlin.stdlib kommer ut som ISO-8601-strenger. UUID blir en standard hex-streng. Map<String, V> blir et JSON-objekt, og verdier i en enum class kommer ut som string-navnet sitt — nøyaktig den oppførselen du ville fått fra Gson eller jackson-module-kotlin.

Serialization-annotasjoner respekteres. @SerialName("x") gir JSON-nøkkelen nytt navn, @Transient dropper propertyen. Default-parameterverdier skrives ut når propertyen ikke er satt eksplisitt. Lim inn flere data class-er samtidig, og hver av dem kommer ut som en top-level entry, med nestede typer utvidet og sealed class-hierarkier flatet ut til variantene sine. Hvis du shipper en Android-app, går outputtet rett inn i Retrofit-fixtures og Room-test-seeds.

Slik bruker du det

Tre steg. Virker likt enten du limer inn én enkelt instans eller en hel fil full av data classes.

1

Lim inn Kotlin (eller last inn eksempelet)

Slipp Kotlin-en din rett inn i venstre editor som den er. En data class, en vanlig klasse, en object-deklarasjon, flere klasser eller sealed-hierarkier — alt går. Klikk på Last inn eksempel for å se et realistisk case først.

Du trenger ikke fjerne import-er, packages eller annotasjoner. La Kotlin-syntaksen stå som den er — companion objects og backing fields fungerer også fint.

2

Trykk Konverter

Klikk på den grønne Konverter-knappen. Verktøyet leser Kotlinen, bevarer hver data class og property, og spytter ut JSON i én omgang. Imens kjører en kort loading-indikator.

3

Kopier JSON-en

Høyre panel fylles med innrykket JSON. Kopier det inn i Retrofit-testen din, en Room-fixture, OpenAPI-eksemplene dine eller en REST-klient. Det er hele loopen.

Når det faktisk hjelper

API-fixtures for Android-apper

Du har en Retrofit-request-modell og trenger en JSON-payload å slenge inn i MockWebServer eller Postman. Lim inn data class, ta JSON-en, videre.

Testdata for backend

En Ktor- eller Spring-tjeneste med 30 data classes. Konverter hver enkelt til JSON-seed-filer for integrasjonstester uten å skrive én eneste <code>@Serializable</code>-annotasjon.

Docs som holder seg i sync

Generer JSON-eksempler til OpenAPI-specen eller API-referansen direkte fra de faktiske data classene, sånn at dokumentasjonen aldri driver fra modellene.

Startmaler for config-filer

En Settings data class med et par dusin properties blir en redigeringsklar JSON-mal — ingen håndskrevet boilerplate.

Vanlige spørsmål

Må jeg ha kotlinx.serialization eller Jackson installert?

Nei. Verktøyet kjører server-side og kompilerer ikke koden din — du får JSON uten plugin. Vil du ha runtime-serialisering i appen din, er kotlinx.serialization det native valget; jackson-module-kotlin funker også.

Respekterer det @SerialName, @Transient og @JsonProperty?

Ja. @SerialName("x") og @JsonProperty("x") gir JSON-nøkkelen nytt navn, og @Transient / @JsonIgnore tar propertyen ut av outputtet — i tråd med kotlinx.serialization-semantikken.

Hva med Instant, LocalDate og UUID?

Instant, LocalDate, LocalDateTime og ZonedDateTime kommer alle ut som ISO-8601-strenger. UUID blir en standard 8-4-4-4-12 hex-streng. Duration blir en duration-streng.

Hvordan håndteres nullables, sealed classes og enums?

Nullable properties med verdi null blir JSON null; ellers serialiseres den indre typen som vanlig. Sealed class-instanser inneholder en type discriminator som default (konfigurerbar hvis du bruker kotlinx.serialization). Enums kommer ut som string-navnet sitt med mindre de er annotert annerledes.

Lagres koden min?

Koden din sendes til backenden for konvertering og blir ikke persistert — vi logger ikke payloaden. Som alltid, kast et blikk på sensitiv kode før du limer inn.

Funker det for både Kotlin/JVM og Kotlin Multiplatform?

Ja. Så lenge syntaksen er gyldig Kotlin, bryr konverteren seg ikke om targetet er JVM, JS, Native eller Multiplatform. Plattformsspesifikke typer uten JSON-representasjon (som Job eller Flow) kommer ut som null.

Andre verktøy du kanskje trenger

Kotlin til JSON er én brikke. Disse går godt sammen med det: