UTILS.
100% nel browser

Da JSON a POJO Java

Crea classi POJO Java da un JSON di esempio, con annotazioni Jackson o Gson, getter e setter generati e tipi boxed per i campi nullable.

output

Informazioni su questo strumento

Lo strumento Da JSON a POJO Java converte un JSON di esempio incollato in classi modello Java, come fa jsonschema2pojo ma istantaneamente nel tuo browser. Analizza il JSON, inferisce i tipi Java ricorsivamente ed emette una classe per oggetto: le stringhe diventano String, gli interi int o long, gli altri numeri double, i booleani boolean, gli array List<T> e gli oggetti annidati le proprie classi PascalCase dichiarate prima dei genitori che le usano.

Tutta l'analisi e la generazione avvengono localmente con JSON.parse e semplice JavaScript, quindi i tuoi payload non lasciano mai la pagina. I campi vengono resi in camelCase; quando la chiave JSON non è già in camelCase lo strumento aggiunge @JsonProperty("originalKey") (Jackson) o @SerializedName("originalKey") (Gson), oppure nulla in modalità campi semplici. I campi che possono essere null in qualsiasi campione usano i tipi wrapper boxed (Integer, Long, Double, Boolean) così null è rappresentabile. Le classi Jackson portano @JsonIgnoreProperties(ignoreUnknown = true) per la compatibilità in avanti.

L'interruttore dello stile di annotazione seleziona Jackson (predefinito), Gson o nessuna annotazione, e vengono inclusi solo gli import effettivamente usati. L'interruttore degli accessor sceglie tra metodi getX()/setX() generati su campi privati (predefinito) o campi pubblici semplici. Copia il risultato o scaricalo come file .java per inserirlo direttamente nel tuo progetto.

Domande frequenti

Quali tipi Java vengono prodotti?
string in String, intero in int (long quando un valore supera l'intervallo di int), numero non intero in double, booleano in boolean, array in List<T> e oggetto in una classe nominata. I campi che possono essere null usano tipi boxed — Integer, Long, Double, Boolean.
Annotazioni Jackson o Gson?
L'interruttore delle annotazioni sceglie Jackson (@JsonProperty, più @JsonIgnoreProperties(ignoreUnknown = true)), Gson (@SerializedName) o nessuna. Le annotazioni vengono aggiunte solo quando il nome del campo camelCase differisce dalla chiave JSON originale.
Ottengo getter e setter?
Per impostazione predefinita ogni campo privato riceve un getX() e un setX() generati. Passa l'interruttore degli accessor a campi pubblici semplici se preferisci campi nudi in stile record senza metodi accessor.
Il mio JSON viene inviato da qualche parte?
No. Il JSON viene analizzato e le classi generate interamente nel tuo browser con semplice JavaScript. Nulla viene caricato, quindi puoi incollare in sicurezza risposte API interne.

Altri strumenti