Convertitore XML ↔ JSON
Converti documenti XML in JSON e viceversa, attributi inclusi
Su questo strumento
Converti XML in JSON per dare in pasto risposte SOAP legacy, feed RSS o POM di Maven a JavaScript, jq o un’API nativa JSON — o vai nell’altra direzione e produci XML da dati JSON. Gli attributi vengono conservati: diventano chiavi "@_nome", e il contenuto testuale che convive con gli attributi finisce sotto "#text", così nessuna informazione scompare in silenzio.
I due formati sono in disaccordo sui fondamentali, e questo convertitore fa le scelte pragmatiche standard: gli elementi fratelli ripetuti collassano in un array JSON, i valori dall’aspetto numerico diventano numeri e i namespace viaggiano come parte del nome dell’elemento. Il viaggio di andata e ritorno XML → JSON → XML preserva struttura e contenuto per i documenti tipici.
Entrambe le direzioni girano in locale nel tuo browser. Incolla un feed di fatture o una risposta API senza che vada da nessuna parte.
Domande frequenti
- Perché alcuni valori tornano come numeri invece che stringhe?
- Il parser riconosce il testo numerico e lo converte, che è ciò che la maggior parte dei consumatori vuole. Attenzione agli identificatori con zeri iniziali (codici prodotto, numeri di telefono) — se per i tuoi dati conta, rimetti le virgolette dopo la conversione o tratta l’output come punto di partenza.
- Come vengono gestiti gli elementi ripetuti?
- Due o più fratelli con lo stesso nome diventano un array JSON sotto quella chiave. Un’occorrenza singola resta un oggetto semplice — l’asimmetria è insita nella mappatura, quindi il codice che consuma il JSON dovrebbe tollerare entrambe le forme o normalizzare prima.
- Cosa significano le chiavi @_ e #text?
- @_ marca ciò che era un attributo XML, #text trasporta il testo dell’elemento quando sono presenti anche attributi. Ripassando la stessa convenzione nella direzione JSON → XML si ricostruisce il markup originale.
- Perché JSON → XML rifiuta il mio array al livello superiore?
- Un documento XML deve avere esattamente un elemento radice, e un array nudo non ne ha. Avvolgi l’array in un oggetto — {"items": {"item": [...]}} — e il convertitore produce un documento well-formed.