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
Converti istantaneamente dati o file XML in formato JSON nel tuo browser. Supporta il rientro personalizzato e gestisce strutture nidificate.
oppure trascina e rilascia qui
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.
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.
Incolla XML, ottieni JSON.
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.