JSON-syöte

Kotlin-tulos

Mikä on JSON Kotliniksi?

Kun rakennat Android-sovellusta tai Kotlin-backendiä ja saat JSON API -vastauksen, tarvitset Kotlin data-luokkia, jotka vastaavat rakennetta ennen kuin voit deserialisoida mitään. Niiden kirjoittaminen käsin — erityisesti syvään sisäkkäisten objektien kanssa — on hidasta ja virhealtista. Tämä työkalu luo automaattisesti Kotlin data-luokkia JSON:istasi. Liitä esimerkkilastaus ja saat sekunneissa käyttövalmiit mallit kotlinx.serialization- tai Gson-kirjastoille.

Muunnos tapahtuu selaimessasi. Aseta dataluokan nimi ja paketti konfiguraatiossa. Ota Dataluokka käyttöön data class -syntaksille ja Nullable-tyypit valinnaisia kenttiä varten. Mitään ei lähetetä palvelimelle.

Miten työkalua käytetään

1

Liitä tai lataa JSON

Liitä JSON vasempaan editoriin tai lataa tiedosto. Käytä Esimerkki-painiketta esimerkkidataan. Aseta juuridataluokan nimi ja paketti konfiguraatiossa. Ota Dataluokka ja Nullable-tyypit käyttöön tarpeen mukaan.

2

Tarkista generoidut tyypit

Oikea paneeli näyttää Kotlin-dataluokat. Sisäkkäisistä objekteista tulee sisäkkäisiä tyyppejä. Taulukoista tulee List<T>. Käytä @SerializedName- tai @Json-annotaatioita, jos JSON-avaimet poikkeavat ominaisuuksien nimistä. Virheelliselle JSON:lle käytä ensin JSON-muotoilutyökalua tai JSON-tarkistinta.

3

Kopioi tai lataa

Käytä Kopioi tai Lataa tiedostona. Liitä Android- tai Kotlin-projektiisi. JSON:n muotoiluun ensin käytä JSON-muotoilutyökalua. Validointiin käytä JSON-tarkistinta.

Esimerkkejä JSON Kotliniksi

Tässä esimerkki Kotlin-dataluokkien generoinnista JSON-objektista.

Esimerkki: Tilaajatietue

JSON-syöte:

Syöte

Generoitu Kotlin-tulos:

Tulos

Milloin JSON Kotliniksi auttaa

Kun rakennat Android-sovelluksia tai Kotlin-taustapalveluja, jotka kuluttavat REST API:ja, tarvitset tyypitettyjä dataluokkia. Liitä esimerkkivastaus tähän saadaksesi Kotlin-mallit Retrofit-, Gson- tai kotlinx.serialization-kirjastoille. API-testaukseen Postman auttaa.

Usein kysyttyä

Miten Kotlin data-luokat toimivat JSON:n kanssa?

Kotlin data-luokka sisältää jäsennettyä dataa automaattisesti generoiduilla equals-, hashCode-, toString- ja copy-metodeilla. Kirjastot kuten Gson ja kotlinx.serialization käyttävät luokan ominaisuuksia JSON-kenttien yhdistämiseen. Generoi data-luokka täällä, lisää oikeat annotaatiot ja deserialisoi Gson.fromJson- tai Json.decodeFromString-metodilla.

Miten jäsennän JSON:ia Retrofit:lla Kotlinissa?

Lisää Gson- tai kotlinx.serialization-muunnintehdas Retrofit-builderiin, määritä sitten API-rajapintasi data-luokka-paluutyypillä. Generoi data-luokka API-vastauksestasi täällä, liitä se projektiisi, ja Retrofit hoitaa deserialisoinnin automaattisesti.

Mitä eroa on @SerializedName- ja @SerialName-annotaatioilla Kotlinissa?

@SerializedName on Gsonille ja yhdistää JSON-avaimen Kotlin-ominaisuuden nimeen. @SerialName on kotlinx.serialization-vastine. Käytä kumpakin JSON-kirjastosi mukaan. Molemmat sallivat JSON-avainten kuten user_name yhdistämisen Kotlin-ominaisuuteen nimeltä userName.

Lähetetäänkö JSON:ini palvelimelle?

Ei. Data-luokkien generointi toimii kokonaan selaimessasi. JSON:isi ei koskaan poistu koneeltasi.

Nullable-tyypit Kotlin data-luokissa?

Ota Nullable Types käyttöön generoidaksesi String?, Int? jne. Hyödyllinen kun JSON-kenttä voi puuttua tai olla null. Kotlinin null-turvallisuus tarkoittaa, että saat käännösvirheen jos unohdat käsitellä nämä tapaukset.

Liittyvät työkalut

Kotlin JSON:lle, katso kotlinx.serialization ja Gson. JSON:lle, katso JSON-määrittely ja RFC 8259. Yleiskatsaukseen, katso MDN.