Sări la conținut
Complet local

JSON la clasa Kotlin

Convertiți un eșantion JSON într-o clasă Kotlin gata de utilizare.

Intrare
Ieșire

JSON la clasa Kotlin

Lipiți un răspuns JSON și acest instrument îl convertește într-o clasă Kotlin gata de utilizare, deducând fiecare tip de câmp direct din valorile pe care le furnizați. Este construit pentru programatori Android și backend care au nevoie de un model rapid pentru un răspuns API, un fișier de configurare sau o sarcină de date de probă, fără a fi nevoie să tastați manual numele și tipurile proprietăților sau să recurgă la un plugin IDE.

Setați un nume pentru clasa rădăcină și alegeți cum apar obiectele imbricate: imbricate în clasa rădăcină sau declarate ca clase separate de nivel superior. Alternați între val pentru proprietăți imutabile și var atunci când modelul trebuie să fie mutabil, și activați valorile implicite pentru a oferi fiecărei proprietăți o valoare implicită sensată (un șir gol, zero, emptyList()) pentru ca instanțele să poată fi create cu mai puține argumente. Adăugați adnotări @Serializable și @SerialName pentru kotlinx.serialization sau @SerializedName pentru Gson, și alegeți indentare de 2 spații, 4 spații sau tabulații pentru a se potrivi cu stilul proiectului dvs.

Valorile lipsă sau nule devin tipuri anulabile automat, matricile devin List<T> cu tipul de element dedus din fiecare articol, iar obiectele cu aceeași formă sunt condensate într-o singură clasă reutilizată în loc să fie duplicate. Opțiunea "combină câmpurile în elementele matricei" controlează dacă acel tip de articol este construit din fiecare element din matrice sau doar din primul, ceea ce este util pentru o matrice foarte mare sau cu formă neuniformă. Atunci când JSON la nivel superior este el însuși o matrice, instrumentul încapsulează tipul de articol dedus într-o List pentru dvs.

Tot este executat local în browserul dvs. — JSON-ul dvs. nu este niciodată încărcat sau trimis pe un server, deci este sigur să lipiți răspunsurile API reale și sarcinile interne. Copiați Kotlin-ul generat, descărcați ca fișier .txt sau trimiteți rezultatul înapoi în intrare pentru a-l converti din nou cu opțiuni diferite.

FAQ

Cum decide instrumentul care câmpuri sunt anulabile?
Un câmp devine anulabil atunci când lipsește dintr-un cel puțin un obiect de probă, sau când singura sa valoare observată este nulă. Un câmp prezent cu o valoare diferită de nul în fiecare obiect rămâne neabuzabil.
Poate genera adnotările kotlinx.serialization sau Gson de care am nevoie?
Da. Alegeți kotlinx.serialization pentru a adăuga @Serializable și @SerialName, sau Gson pentru a adăuga @SerializedName cu cheia JSON originală, pentru ca clasa să se deserializeze corect chiar și atunci când numele proprietății diferă.
Ce se întâmplă cu o matrice JSON ale cărei obiecte au forme diferite?
Câmpurile lor sunt combinate într-o singură clasă de date, cu orice câmp lipsă în unele elemente marcat ca anulabil. Dezactivați "Combină câmpurile în elementele matricei" pentru a deduce tipul doar din primul element.
Acceptă obiecte imbricate?
Da. Un obiect imbricat devine propria sa clasă de date, declarată în clasa rădăcină sau ca o clasă separată de nivel superior, în funcție de opțiunea de imbricare.
JSON-ul meu este încărcat undeva?
Nu. Conversia se execută integral în browserul dvs. — JSON-ul dvs. nu părăsește niciodată dispozitivul dvs.