Vai al contenuto
100% locale

JSON a classe di dati Kotlin

Converti un campione JSON in una classe di dati Kotlin pronta all'uso.

Ingresso
Uscita

JSON a classe di dati Kotlin

Incolla una risposta JSON e questo strumento la converte in una classe di dati Kotlin pronta all'uso, deducendo il tipo di ogni campo direttamente dai valori che fornisci. È progettato per sviluppatori Android e backend che hanno bisogno di un modello rapido per una risposta API, un file di configurazione o un carico utile di esempio, senza digitare manualmente i nomi delle proprietà e i tipi o ricorrere a un plugin dell'IDE.

Imposta un nome per la classe radice e scegli come appaiono gli oggetti annidati: annidati all'interno della classe radice o dichiarati come classi separate di livello superiore. Passa da val per le proprietà immutabili a var quando il modello deve essere mutabile, e attiva i valori predefiniti per assegnare a ogni proprietà un valore predefinito ragionevole (una stringa vuota, zero, emptyList()) in modo che le istanze possono essere create con meno argomenti. Aggiungi annotazioni @Serializable e @SerialName per kotlinx.serialization, o @SerializedName per Gson, e scegli un'indentazione di 2 spazi, 4 spazi o tabulazione per corrispondere allo stile del tuo progetto.

I valori mancanti o nulli diventano automaticamente tipi nullable, gli array diventano List<T> con il tipo di elemento dedotto da ogni elemento, e gli oggetti con la stessa forma vengono compressi in un'unica classe riutilizzata invece di essere duplicati. L'opzione "Unisci campi tra elementi dell'array" controlla se quel tipo di elemento è costruito da ogni elemento nell'array o solo dal primo, utile per un array molto grande o di forma irregolare. Quando il JSON al livello superiore è esso stesso un array, lo strumento avvolge il tipo di elemento dedotto in un List per te.

Tutto viene eseguito localmente nel tuo browser — il tuo JSON non viene mai caricato né inviato a un server, quindi è sicuro incollare risposte API reali e carichi utili interni. Copia il Kotlin generato, scaricalo come file .txt, oppure rimanda l'output all'input per convertirlo di nuovo con opzioni diverse.

FAQ

Come decide lo strumento quali campi sono nullable?
Un campo diventa nullable quando manca da almeno un oggetto di esempio, o quando il suo unico valore osservato è null. Un campo presente con un valore non nullo in ogni oggetto rimane non nullable.
Può generare le annotazioni kotlinx.serialization o Gson di cui ho bisogno?
Sì. Scegli kotlinx.serialization per aggiungere @Serializable e @SerialName, o Gson per aggiungere @SerializedName con la chiave JSON originale, in modo che la classe si deserializzi correttamente anche quando il nome della proprietà differisce.
Cosa succede con un array JSON i cui oggetti hanno forme diverse?
I loro campi vengono uniti in un'unica classe di dati, con qualsiasi campo mancante in alcuni elementi contrassegnato come nullable. Disattiva "Unisci campi tra elementi dell'array" per dedurre il tipo solo dal primo elemento.
Supporta oggetti annidati?
Sì. Un oggetto annidato diventa la sua stessa classe di dati, dichiarata all'interno della classe radice o come una classe separata di livello superiore, a seconda dell'opzione di annidamento.
Il mio JSON viene caricato da qualche parte?
No. La conversione viene eseguita interamente nel tuo browser — il tuo JSON non lascia mai il tuo dispositivo.