DocumentiImmaginiMediaStrumenti PDF

Converti XML in JSON Online

Converti XML in JSON nel tuo browser. Ideale per la migrazione da SOAP a REST, l'analisi di feed RSS/Atom o l'elaborazione di XML legacy.

// Invalid XML: DOMParser is not defined
Processed in your browser

XML in JSON: modernizza il tuo stack di dati

Migrazione da SOAP a REST

Converti le risposte dei web service SOAP (XML) in JSON per integrarle con API REST moderne e client JavaScript.

Feed RSS e Atom

Analizza i feed RSS 2.0 e Atom 1.0 in JSON per elaborarli con JavaScript, archiviarli in MongoDB o visualizzarli in app web.

100% privato

Il tuo XML viene elaborato nel browser con il DOMParser nativo. Non lascia mai il tuo dispositivo.

XML legacy

Elabora risorse Android (strings.xml, layout), sitemap, manifest SOAP o qualsiasi formato XML legacy.

Tre passaggi, senza complicazioni

1

Incolla il tuo XML

Incolla qualsiasi XML valido: risposta SOAP, feed RSS/Atom, sitemap.xml, manifest Android o qualsiasi documento XML 1.0.

2

Conversione intelligente

Gli attributi XML vengono convertiti con prefisso @, il contenuto testuale con #text, e gli elementi ripetuti vengono automaticamente raggruppati in array.

3

Scarica o copia il JSON

Ottieni JSON strutturato pronto per la tua API REST, il database NoSQL o il codice JavaScript/Python.

Hai delle domande?

XML consente sia agli elementi figli che agli attributi di memorizzare dati, senza un equivalente diretto in JSON. La convenzione piu adottata (usata da xml2js in Node.js, xmltodict in Python e JAXB in Java) consiste nel precedere gli attributi con @: l'elemento con id e role diventa un oggetto con @id e @role. Il contenuto testuale degli elementi misti (quelli con sia attributi che testo) viene inserito nella chiave #text. Questa convenzione e coerente con la specifica BadgerFish e con i piu popolari strumenti dell'ecosistema.

In XML, e perfettamente valido avere piu elementi fratelli con lo stesso nome. JSON non puo rappresentare piu chiavi identiche nello stesso oggetto (sarebbe JSON non valido secondo RFC 7159). La soluzione standard e raggrupparli in un array. Un buon convertitore rileva automaticamente gli elementi ripetuti e li converte in array, anche quando ce ne sono solo due. Questo puo causare incongruenze se a volte c'e un solo elemento e a volte piu di uno: la soluzione e normalizzare sempre in array per i campi che possono ripetersi.

I namespace XML (definiti dal W3C in Namespaces in XML 1.0, pubblicato nel gennaio 1999 e rivisto nell'agosto 2006) sono una funzionalita XML senza equivalente in JSON. La rappresentazione piu comune consiste nell'includere il prefisso del namespace come parte del nome della chiave: l'elemento soap:Body diventa la chiave soap:Body nel JSON. Le dichiarazioni di namespace vengono trattate come attributi e appaiono come @xmlns:prefisso. Per casi d'uso come la migrazione da SOAP a REST dove i namespace sono pervasivi, spesso e necessaria una post-elaborazione per rimuovere i prefissi dei namespace dal JSON risultante.

CDATA (Character Data) e una sezione XML speciale che consente di includere testo contenente caratteri normalmente riservati (inferiore, superiore, e commerciale, virgolette) senza usare entita XML. CDATA viene usato frequentemente per includere HTML, JavaScript, SQL o qualsiasi testo con caratteri speciali all'interno di un elemento XML. Nella conversione in JSON, il contenuto CDATA viene trattato come testo semplice: le sezioni CDATA vengono sostituite dal loro contenuto senza il markup, e il risultato viene inserito come stringa normale nel valore del campo JSON.

La conversione avviene nel tuo browser usando il DOMParser nativo del browser per analizzare l'XML e un serializzatore JSON personalizzato. Il DOMParser puo gestire file XML di alcune decine di MB nei browser moderni (Chrome, Firefox, Edge). Per file di grandi dimensioni (oltre 10 MB), l'elaborazione potrebbe richiedere alcuni secondi. Per file XML molto grandi (oltre 100 MB, come sitemap con centinaia di migliaia di URL o dump di database XML), si consigliano strumenti in streaming come xml2json in Node.js, xmltodict in Python con la modalita iterparse di xml.etree o il processore Saxon per XML enterprise.

Convertire XML in JSON: migrazione da SOAP a REST, feed RSS e elaborazione di XML legacy

XML (Extensible Markup Language) fu definito dal W3C nella raccomandazione XML 1.0 (pubblicata il 10 febbraio 1998, attualmente nella quinta edizione del novembre 2008). Per tutti gli anni 2000, XML fu il formato universale di scambio dati: SOAP (Simple Object Access Protocol, specifica W3C 2003) usava XML come formato dei messaggi, RSS 2.0 (rilasciato da Dave Winer nel 2002) e Atom 1.0 (RFC 4287, dicembre 2005) distribuivano feed di notizie in XML, Android (lanciato da Google nel 2008) usava XML per layout, stringhe e manifest delle applicazioni, e SVG (Scalable Vector Graphics, W3C 1.1 del 2003) e XML. La transizione verso JSON come formato di scambio principale inizio con la diffusione di AJAX e la specifica JSON di Douglas Crockford (RFC 4627, luglio 2006, sostituita dall'RFC 7159 nel 2014). Oggi la maggior parte delle nuove API usa JSON/REST, ma milioni di sistemi legacy, servizi B2B e formati standard del settore (UBL, HL7 FHIR in XML, SOAP, KML, GPX) usano ancora XML.

La conversione da XML a JSON non e banale perche i due modelli di dati hanno differenze concettuali fondamentali. XML e un modello ad albero di nodi (elementi, attributi, testo, commenti, istruzioni di elaborazione, CDATA) dove gli elementi possono avere contemporaneamente sia attributi che contenuto figlio/testuale. JSON e un modello ad albero di valori (oggetti, array, stringhe, numeri, booleani, null) senza il concetto di attributi separati dal contenuto. Le principali convenzioni per la conversione sono: attributi XML come chiavi con prefisso @ (convenzione BadgerFish/xml2js); testo degli elementi misti nella chiave #text; elementi ripetuti raggruppati in array; namespace preservati come prefissi delle chiavi; CDATA trattato come testo semplice. La convenzione BadgerFish, documentata su badgerfish.de e adottata dalle librerie piu diffuse, e lo standard de facto per questa conversione.

Per i casi d'uso in produzione ad alta scala, gli strumenti piu usati sono: xml2js (Node.js, oltre 25 milioni di download mensili su npm), xmltodict (Python, basato su xml.etree della libreria standard), JAXB (Java, parte di Jakarta EE) e encoding/xml (libreria standard Go). Per la migrazione di servizi SOAP legacy a REST, strumenti come Apache Camel, MuleSoft Anypoint e AWS API Gateway con trasformazioni del payload offrono integrazione XML-JSON nativa a livello di middleware. Per sitemap.xml (il protocollo Sitemaps definito su sitemaps.org, adottato da Google nel 2005), la conversione in JSON consente di elaborare elenchi di URL con JavaScript senza un parser XML. Convertir.ai usa il DOMParser nativo del browser (API standard W3C, disponibile in tutti i browser moderni dal 2004) per analizzare l'XML e un serializzatore personalizzato per generare JSON, garantendo la totale privacy non inviando dati al server.