JSON-inndata

Kotlin-utdata

Hva er JSON til Kotlin?

Når du bygger en Android-app eller en Kotlin backend-tjeneste og får et JSON API-svar, trenger du Kotlin data-klasser som samsvarer med strukturen før du kan deserialisere noe. Å skrive dem manuelt — spesielt med dypt nestede objekter — er tregt og lett å gjøre feil. Dette verktøyet genererer automatisk Kotlin data-klasser fra JSON-en din. Lim inn et eksempelsvar og du vil på sekunder ha klare modeller for kotlinx.serialization eller Gson.

Konvertering kjører i nettleseren din. Sett dataklassenavnet og pakken i konfigurasjonen. Aktiver Dataklasse for data class-syntaks og Nullable-typer for valgfrie felt. Ingenting sendes til en server.

Slik bruker du verktøyet

1

Lim inn eller last opp JSON

Lim JSON-en inn i editoren til venstre eller last opp en fil. Bruk Eksempel for eksempeldata. Sett rotdataklassenavnet og pakken i konfigurasjonen. Aktiver Dataklasse og Nullable-typer etter behov.

2

Gå gjennom de genererte typene

Høyre panel viser Kotlin-dataklasser. Nestede objekter blir nestede typer. Tabeller blir List<T>. Bruk @SerializedName eller @Json hvis JSON-nøkler skiller seg fra egenskapsnavn. For ugyldig JSON, bruk JSON-formaterer eller JSON-validator først.

3

Kopier eller last ned

Bruk Kopier eller Last ned. Lim inn i Android- eller Kotlin-prosjektet ditt. For formatering av JSON først, bruk JSON-formatereren. For validering, bruk JSON-validator.

Eksempler på JSON til Kotlin

Her er et eksempel på generering av Kotlin-dataklasser fra et JSON-objekt.

Eksempel: Abonnementspost

JSON-inndata:

Inndata

Generert Kotlin-utdata:

Utdata

Når JSON til Kotlin hjelper

Når du bygger Android-apper eller Kotlin-backendtjenester som bruker REST API-er, trenger du typede dataklasser. Lim inn et eksempelsvar her for å få Kotlin-modeller for Retrofit, Gson eller kotlinx.serialization. For API-testing hjelper Postman.

Ofte stilte spørsmål

Hvordan fungerer Kotlin data-klasser med JSON?

En Kotlin data-klasse inneholder strukturerte data med automatisk genererte equals-, hashCode-, toString- og copy-metoder. Biblioteker som Gson og kotlinx.serialization bruker klassens egenskaper til å mappe JSON-felt. Generer data-klassen her, legg til de riktige annotasjonene og deserialiser med Gson.fromJson eller Json.decodeFromString.

Hvordan parser jeg JSON med Retrofit i Kotlin?

Legg til en Gson- eller kotlinx.serialization-konverterfactory til Retrofit-builderen din, definer deretter API-grensesnittet med en data-klasse returtype. Generer data-klassen fra API-svaret her, lim den inn i prosjektet ditt, og Retrofit vil håndtere deserialiseringen automatisk.

Hva er forskjellen mellom @SerializedName og @SerialName i Kotlin?

@SerializedName er for Gson og mapper en JSON-nøkkel til et Kotlin-egenskapsnavn. @SerialName er kotlinx.serialization-ekvivalenten. Bruk det som passer med JSON-biblioteket ditt. Begge lar JSON-nøkler som user_name mapes til en Kotlin-egenskap kalt userName.

Sendes JSON-en min til en server?

Nei. Data-klassegenerering kjører helt i nettleseren din. JSON-en din forlater aldri maskinen din.

Nullable typer i Kotlin data-klasser?

Aktiver Nullable Types for å generere String?, Int?, osv. Dette er nyttig når et JSON-felt kan være fraværende eller null. Kotlins null-sikkerhet betyr at du vil få en kompileringsfeil hvis du glemmer å håndtere disse tilfellene.

Relaterte verktøy

For Kotlin JSON, se kotlinx.serialization og Gson. For JSON, se JSON-spesifikasjonen og RFC 8259. For en generell oversikt, se MDN.