JSON Kotlin-muunnin
Muunna JSON Kotlin-dataluokiksi Android- ja Kotlin-kehitystä varten
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
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.
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.
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:
Generoitu Kotlin-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.