Trasformatore di classi JSON in Java — Numio
Genera classi Java da JSON: la pagina esegue json_typegen (WebAssembly) in modalità Kotlin e riscrive ogni classe di dati in una classe Java con campi privati, un costruttore all-args, getter e setter.
Creazione di un POJO per deserializzare una risposta REST con Jackson.
Quando usarlo
- Creazione di un POJO per deserializzare una risposta REST con Jackson.
- Schizzo di classi DTO per un controller Spring da un payload di esempio.
Come si usa
- Incolla un oggetto o un array JSON nell'editor di sinistra.
- Leggi le classi: la radice è Root e gli oggetti annidati diventano classi separate che prendono il nome dalla loro chiave.
- Copiali in file .java separati (le importazioni per List e Jackson sono incluse) e modifica i tipi se necessario.
JSON
{
"id": 42,
"user_name": "ada",
"active": true,
"tags": ["admin", "editor"]
}Classi Java
import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty;
public class Root {
private Long id;
@JsonProperty("user_name")
private String userName;
private Boolean active;
private List<String> tags;
public Root(Long id, String userName, Boolean active, List<String> tags) {
this.id = id;
this.userName = userName;
this.active = active;
this.tags = tags;
}
public Long getId() {
return this.id;
}
…Dettagli e limiti
La generazione viene eseguita nel browser con WebAssembly; non ci sono impostazioni.
Le chiavi snake_case diventano campi camelCase con Jackson @JsonProperty; l'importazione Jackson e java.util.List vengono importati quando utilizzati.
I numeri vengono mappati su Long o Double e i booleani su Boolean; i getter booleani usano get, non is.
Un valore nullo viene digitato come Object e un array di valori nulli come List<?>. Sostituiscili con tipi concreti una volta che conosci i dati reali.
FAQ
Posso convertire un array JSON alla radice?
Sì. La radice diventa una classe wrapper Root con un campo List<Root2> e gli elementi dell'array diventano la classe Root2.
Vengono gestiti i campi facoltativi?
Vengono rilevate le chiavi mancanti da alcuni elementi dell'array, ma l'output Java elimina il marcatore opzionale, quindi ogni campo è un tipo wrapper nullable semplice.
Genera annotazioni o record di Lombok?
No. Scrive classi semplici con costruttori, getter e setter espliciti.
Come vengono digitati i valori nulli?
Un campo nullo nell'esempio diventa Object (oggetto privato note;), poiché non è possibile dedurre alcun tipo concreto. Fornisci un esempio con un valore reale per ottenere String, Long o una classe nidificata.