Preskoči na vsebino
100% lokalno

JSON v Kotlin razred podatkov

Pretvori JSON vzorec v pripravljen Kotlin razred podatkov.

Vhod
Izhod

JSON v Kotlin razred podatkov

Prilepite JSON odgovor in to orodje ga pretvori v pripravljen Kotlin razred podatkov, pri čemer deducira tip vsakega polja direktno iz vrednosti, ki jo posredujete. Narejeno je za Android in backend razvijalce, ki potrebujejo hiter model za API odgovor, datoteko s konfiguracijo ali vzorec tovorke, brez ročnega vnašanja imen lastnosti in tipov ali iskanja vtičnika IDE.

Nastavite ime korenske klase in izberite, kako se pojavljujejo ugneždeni objekti: ugneždeni v korensko klaso ali deklarirani kot ločeni razredi na najvišji ravni. Preklapljajte med val za nepremenjive lastnosti in var, ko mora biti model spremenljiv, in omogočite privzete vrednosti, da ima vsaka lastnost razumno privzeto vrednost (prazen niz, nič, emptyList()), tako da je mogoče instanco ustvariti z manj argumenti. Dodajte @Serializable in @SerialName anotacije za kotlinx.serialization ali @SerializedName za Gson ter izberite 2-presledčni, 4-presledčni ali zamik z zavihkom, ki se ujema z slogom vašega projekta.

Mankajoče ali null vrednosti samodejno postanejo nullable tipi, polja postanejo List<T> z vrsto elementa, deducirano iz vsakega predmeta, in objekti z isto obliko se spojijo v en ponovno uporabljen razred namesto da se podvojijo. Možnost "Spoji polja preko elementov polja" nadzoruje, ali je ta tip elementa zgrajen iz vsakega elementa v polju ali le iz prvega, kar je koristno za zelo veliko ali neenakomerno oblikovano polje. Ko je JSON na najvišji ravni sam niz, orodje za vas zavije deducirano vrsto elementa v List.

Vse teče lokalno v vašem brskalniku — vaš JSON se nikoli ne naloži niti ne pošlje na strežnik, zato je varno prilepiti resnične API odgovore in notranje koristne tovorke. Kopirajte ustvarjeni Kotlin, ga prenesite kot datoteko .txt ali pošljite izhod nazaj v vnos, da ga ponovno pretvorite z različnimi možnostmi.

FAQ

Kako orodje odloči, katera polja so nullable?
Polje postane nullable, ko manjka vsaj enemu vzorčnemu objektu ali če je edina opažena vrednost null. Polje, prisotno z vrednostjo, ki ni null, v vsakem objektu ostane ne-nullable.
Ali lahko ustvari kotlinx.serialization ali Gson anotacije, ki jih potrebujem?
Da. Izberite kotlinx.serialization, da dodate @Serializable in @SerialName, ali Gson, da dodate @SerializedName s prvobitnim ključem JSON, tako da se razred pravilno deserijalizira tudi, ko se ime lastnosti razlikuje.
Kaj se zgodi z JSON poljem, katerega objekti imajo različne oblike?
Njihova polja se spojijo v en razred podatkov, pri čemer je vsako polje, ki manjka nekaterim elementom, označeno kot nullable. Izključite "Spoji polja preko elementov polja", da deducira tip le iz prvega elementa.
Ali podpira ugneždene objekte?
Da. Ugneždeni objekt postane svoj razred podatkov, ki je bodisi deklariran v korenski razred bodisi kot ločen razred na najvišji ravni, odvisno od možnosti ugniježđenja.
Ali je moj JSON naložen kjerkoli?
Ne. Pretvorka poteka v celoti v vašem brskalniku — vaš JSON nikoli ne zapusti vašo napravo.