jsonecho

XML to Crystal

Incolla un documento XML e ottieni i tipi Crystal che ne rispecchiano la struttura.

Caricamento dello strumento...

Come usare XML to Crystal

  1. Incolla un esempio XML rappresentativo, idealmente uno con tutti i campi opzionali compilati.
  2. Imposta il nome del tipo radice e decidi se vuoi anche il codice di supporto o solo i tipi.
  3. Copia il codice Crystal generato nel tuo progetto.

Informazioni su XML to Crystal

Scrivere a mano le classi modello per un grande payload XML è noioso ed è lì che si insinuano gli errori di battitura. Incolla qui un esempio e il generatore ricava la struttura: quali campi esistono, quali sono oggetti, quali sono array e che tipo ha ogni valore. L'output è costituito da classi che includono JSON::Serializable dalla libreria standard.

L'XML viene prima convertito in JSON come nel nostro strumento XML to JSON: gli attributi ricevono il prefisso @_ e il contenuto testuale accanto agli attributi si chiama #text. I tipi Crystal vengono generati da quel risultato. Le proprietà sono dichiarate con la macro property e le chiavi vengono associate con l'annotazione JSON::Field quando serve.

Usare il codice generato

Chiama Root.from_json(json) per analizzare e to_json per scrivere.

I campi opzionali sono tipi unione come String | Nil.

Domande frequenti

Da cosa dipende il codice Crystal generato?

L'output è costituito da classi che includono JSON::Serializable dalla libreria standard.

Come analizzo l'XML con il risultato?

Converti prima l'XML in JSON (il nostro strumento XML to JSON lo fa allo stesso modo), poi chiama Root.from_json(json) per analizzare e to_json per scrivere.

Come vengono gestiti i campi opzionali e mancanti?

I campi opzionali sono tipi unione come String | Nil.

Il generatore guarda più di un record?

Conosce solo ciò che c'è nel tuo esempio. Se un campo manca dal tuo esempio, non comparirà nei tipi e, se un valore è null nel tuo esempio, il suo tipo è sconosciuto. Incolla un esempio in cui siano compilati il più possibile i campi, oppure incolla un array con diversi record differenti.

Il mio XML viene inviato a un server?

No. Il generatore viene scaricato nel tuo browser la prima volta che lo usi, circa 1 MB, e tutto viene eseguito in locale.

Altro in Da dati a classi

Tutti gli strumenti →