Convertitore gratuito

XML a Convertitore JSON

Converti istantaneamente dati o file XML in formato JSON nel tuo browser. Supporta il rientro personalizzato e gestisce strutture nidificate.

Seleziona il file XML

oppure trascina e rilascia qui

O

Informazioni su questo strumento

XML e JSON sono entrambi formati di scambio dati ma provengono da epoche diverse del web. XML, standardizzato nel 1998, è stato progettato come un formato di markup autodescrittivo con attributi, spazi dei nomi e convalida dello schema. JSON è emerso all'inizio degli anni 2000 come formato più leggero, più adatto ai runtime JavaScript e alle API moderne. La maggior parte delle nuove API Web parlano JSON; molti sistemi più vecchi (servizi SOAP, feed RSS, file di configurazione, integrazioni aziendali) producono ancora XML. La conversione tra di essi è una delle attività di interoperabilità più comuni nello sviluppo moderno.

La conversione non è perfettamente lossless perché i due formati hanno diversa potenza espressiva. XML ha attributi (che JSON non ha in modo nativo), distingue tra contenuto testuale e nomi di elementi e supporta contenuto misto (elementi contenenti sia testo che elementi figlio). Il semplice modello oggetto/array di JSON non può rappresentare direttamente queste funzionalità, quindi i convertitori applicano delle convenzioni: gli attributi diventano chiavi con prefisso @, il contenuto del testo diventa una chiave #text e così via.

Questo convertitore analizza XML utilizzando DOMParser integrato nel browser e percorre l'albero DOM risultante per produrre JSON. Gli elementi con lo stesso nome di tag dei fratelli vengono raccolti in array; gli attributi vanno in chiavi speciali; gli spazi dei nomi e le istruzioni di elaborazione vengono preservati quando presenti. Il risultato è un JSON leggibile dall'uomo che ritorna ragionevolmente a XML.

Perché convertire XML in JSON

Il codice dell'applicazione più moderno è più a suo agio con JSON. JavaScript analizza JSON in modo nativo, il modulo json di Python è nella libreria standard e praticamente ogni altro linguaggio ha un supporto JSON di prima classe equivalente. L'elaborazione XML richiede l'importazione di librerie aggiuntive e la scrittura di più standard. La conversione dell'XML in entrata in JSON prima dell'elaborazione è spesso il percorso più rapido dal feed XML esterno alla struttura dati interna.

Gli strumenti si appoggiano anche a JSON. Gli abbellitori JSON, i validatori, i validatori di schemi, i linguaggi di query (jq, JSONPath) e i visualizzatori sono abbondanti; gli equivalenti XML sono meno numerosi e spesso più vecchi. Lavorare in JSON sblocca un ecosistema di strumenti più ricco.

Come usarlo

Incolla XML, ottieni JSON.

  1. Incolla o carica il tuo XML: Incolla il testo XML nell'area di input o rilascia un file. L'XML deve essere ben formato; XML non valido produce un errore di analisi anziché un'ipotesi.
  2. Convertire: DOMParser crea un DOM, il convertitore analizza ogni elemento e JSON viene generato utilizzando le chiavi degli attributi (@attr) e le chiavi del contenuto testuale (#text) dove necessario. Gli elementi fratelli con lo stesso nome diventano array.
  3. Rivedere la struttura: Esamina il JSON per verificare che gli attributi, il testo e la nidificazione siano mappati come previsto. Le convenzioni utilizzate (ad esempio, @ per gli attributi) sono visibili nell'output.
  4. Scarica o copia: Salva come .json o copia negli appunti.

Casi d'uso comuni

Dettagli tecnici

DOMParser produce un DOM XML identico a quello utilizzato dal browser per le pagine XHTML. Il convertitore percorre questo DOM in modo ricorsivo. Per ogni elemento crea un oggetto JSON: gli attributi diventano chiavi con il prefisso @ (ad esempio, @id, @class); gli elementi figli dell'elemento sono ricorsivi nella stessa struttura; il contenuto testuale, quando presente accanto ai bambini, vive sotto la chiave #testo.

Gli elementi secondari ripetuti con lo stesso nome di tag vengono raccolti in un array JSON. Un singolo figlio di un dato nome appare come valore oggetto; più figli appaiono come una serie di oggetti. Questa convenzione funziona bene nella pratica, ma significa che la forma JSON dipende dal fatto che gli elementi appaiano una o più volte: un'imperfezione nota della mappatura da XML a JSON.

Gli spazi dei nomi vengono conservati come parte dei nomi degli elementi (prefisso:localName). Le istruzioni di elaborazione e le sezioni CDATA vengono convertite in contenuto testuale. Le dichiarazioni XML e i DOCTYPE vengono rimossi dall'output JSON ma non influiscono sui dati.

Migliori pratiche

Domande frequenti

La conversione da XML a JSON modifica il contenuto?
Il contenuto viene conservato nel modo più accurato possibile. Tuttavia, alcune funzionalità specifiche del formato potrebbero non avere equivalenti diretti, pertanto potrebbero verificarsi piccole differenze di formattazione.
Perché convertire i dati in formato JSON?
JSON è il formato dati standard per le API Web e le applicazioni JavaScript. È leggibile dall'uomo, ampiamente supportato dai linguaggi di programmazione e ha una sintassi più semplice di XML.
Il convertitore gestisce strutture XML annidate o complesse?
SÌ. Lo strumento analizza correttamente oggetti nidificati, array e tutti i tipi di dati XML standard, preservando l'intera struttura dei dati nell'output JSON.
Questa conversione è sicura e privata?
SÌ. Tutta l'elaborazione avviene localmente nel tuo browser. I tuoi dati non lasciano mai il tuo dispositivo: nessun caricamento sul server, nessuna elaborazione nel cloud, nessuna raccolta dati.
Vengono gestite le sezioni CDATA?
SÌ. Il contenuto CDATA viene convertito in testo semplice nell'output JSON. L'avvolgimento CDATA in sé non viene preservato, ma il contenuto sì.
I miei dati vengono caricati su un server?
No. DOMParser viene eseguito nel tuo browser; la conversione avviene interamente sul tuo dispositivo.
Il JSON tornerà a XML?
Sì, se utilizzi la convenzione inversa (lo strumento JSON to XML segue le stesse regole @attr e #text). Il viaggio di andata e ritorno preserva la struttura del tipico XML; alcuni casi limite (ordine di contenuti misti, istruzioni di elaborazione) potrebbero non sopravvivere perfettamente.
Qual è la dimensione massima di input?
Fino a 50MB. DOMParser è limitato alla memoria dal tuo browser; file XML molto grandi potrebbero rallentare o non riuscire ad analizzare.