Vai al contenuto

Convertire XML in JSON

Trasforma un documento XML in JSON con gli attributi come @chiavi, gli elementi ripetuti come array e i numeri tipizzati, grazie al parser XML del tuo browser, direttamente sul tuo dispositivo.

Converti in
Trascina qui un file XMLXML fino a 100 MB · JSON, CSV, XLSX, XLS, ODS fino a 500 MB
Scegli il fileElaborato sul tuo dispositivo – non viene caricato
Funziona nel tuo browser · nessun caricamentoCome funziona

Come usare Da XML a JSON

  1. 1

    Incolla o trascina l'XML

    Un file .xml, un feed RSS o Atom, una risposta SOAP o qualsiasi testo XML; la codifica indicata nella dichiarazione viene rispettata.

  2. 2

    Imposta la struttura del JSON

    Attributi come chiavi @, chiavi semplici oppure nessuno; array solo per gli elementi ripetuti o ovunque; numeri tipizzati o mantenuti come testo.

  3. 3

    Copia il JSON

    Formattato o compatto: copialo negli appunti o scarica il file .json.

Limiti e Pro

File XML fino a 100 MB, XML incollato di qualsiasi dimensione il tuo browser riesca a gestire.

Informazioni su Da XML a JSON

Da XML a JSON serve quando un'API, un portale della pubblica amministrazione o una vecchia integrazione ti consegna dati in XML e il tuo codice vuole JSON. L'elemento radice del documento diventa l'unica chiave di primo livello, ogni elemento figlio diventa una proprietà e un elemento che compare più volte sotto lo stesso genitore diventa un array, nell'ordine del documento.

Per gli attributi serve una scelta, perché in JSON non esistono. Per impostazione predefinita vengono scritti come chiavi che iniziano con @ — <price currency="UZS">125000</price> diventa {"@currency": "UZS", "#text": 125000} — così attributi ed elementi figli restano distinti e il JSON può essere riconvertito nello stesso XML. Le chiavi semplici producono oggetti più compatti; escludere gli attributi va bene per i documenti che li usano solo per scopi di servizio.

Valori: con il rilevamento dei tipi attivo, 42 e 3.5 diventano numeri JSON e true/false diventano booleani, ma tutto ciò che cambierebbe se letto come numero resta una stringa, come CAP e numeri di conto con zeri iniziali o numeri di oltre 15 cifre. Gli elementi vuoti diventano stringhe vuote.

I namespace vengono mantenuti come scritti (dc:title), oppure si possono rimuovere i prefissi per ottenere chiavi più pulite, eliminando anche le dichiarazioni xmlns. "Usa sempre array" dà a ogni elemento figlio la stessa struttura ad array, comodo quando alcuni record hanno un solo autore e altri tre.

Non vengono riportati: commenti, istruzioni di elaborazione e DOCTYPE; il testo misto a tag inline, come nei paragrafi XHTML, viene unito in un'unica stringa.

Privacy

L'XML viene analizzato in un worker in background di questa pagina, senza alcuna richiesta di rete; non viene scaricato nessun DTD né entità esterna e il documento non lascia mai il tuo dispositivo.

Da XML a JSON: domande frequenti

Che cosa significa #text nel JSON?
Quando un elemento ha attributi o elementi figli e anche un proprio testo, il testo ha bisogno di una chiave dedicata; #text è la convenzione più diffusa. <title lang="en">Guide</title> diventa {"@lang": "en", "#text": "Guide"}. Un elemento con solo testo diventa invece un semplice valore, quindi <title>Guide</title> è semplicemente "title": "Guide".
I numeri vengono convertiti o restano stringhe?
Con "Rileva numeri e true/false" attivo, i valori che sono chiaramente numeri o booleani ricevono i tipi JSON. I valori con zeri iniziali, come 007 o un CAP, e i numeri con più di 15 cifre restano stringhe, perché trasformarli in numeri li altererebbe. Disattiva il rilevamento per mantenere ogni valore esattamente come testo.
Come vengono gestiti namespace come soap: o dc:?
Per impostazione predefinita i prefissi restano nella chiave, quindi dc:title è la chiave "dc:title" e le dichiarazioni xmlns compaiono come attributi @xmlns. Attiva "Rimuovi i prefissi dei namespace" per ottenere title e lasciare fuori le dichiarazioni. Due namespace diversi con lo stesso nome locale condividerebbero però la stessa chiave: se ti interessa, mantieni i prefissi.
Posso riconvertire il JSON in XML in seguito?
Sì. Imposta la destinazione su XML nella pagina da JSON a XML: le chiavi che iniziano con @ diventano attributi, #text diventa il testo dell'elemento e gli array diventano elementi ripetuti. L'ordine degli elementi in un genitore può cambiare se nomi di figli diversi erano alternati, e i commenti vanno persi, ma i dati restano intatti nel passaggio di andata e ritorno.
Perché ricevo un errore invece del JSON?
L'XML non è ben formato e il messaggio indica riga e colonna del primo problema. Le cause più comuni sono una & che dovrebbe essere &amp;, un tag chiuso nell'ordine sbagliato, un valore di attributo senza virgolette o entità HTML come &nbsp; che l'XML non definisce. Correggi quel punto e incolla di nuovo.

Altre attività con questo strumento