JSON in XML
Convertitore online gratuito da JSON a XML. Converte oggetti JSON in <root> e array in nodi <item> ripetuti. Output con prettyPrint, 100% nel browser senza upload.
Raccomandazioni correlate
Informazioni su JSON in XML: converti i dati JSON in formato XML standard
JSON in XML è il processo di conversione di dati in formato JSON (oggetti o array JSON) in formato XML (eXtensible Markup Language). JSON (JavaScript Object Notation) è il formato di dati standard per le API web moderne; XML è il formato di dati tradizionale per sistemi aziendali, SOAP Web Services, file di configurazione e documenti Office. Ogni formato ha i suoi punti di forza: JSON è conciso e facile da analizzare; XML è rigoroso, auto-descrittivo e ampiamente compatibile con namespace e validazione di schemi.
Il nucleo dello strumento è la conversione ricorsiva dei nodi JSON in elementi XML basata sulla libreria xmlbuilder2. Le regole di conversione sono semplici: le chiavi degli oggetti JSON diventano nomi di elementi XML, i valori diventano contenuto testuale dell'elemento; gli array vengono avvolti come elementi figli <item> ripetuti. Gli oggetti JSON sono avvolti in un nodo <root> per impostazione predefinita, e gli array in <root><item>...</item></root>.
Il mapping degli array a elementi ripetuti è una decisione di design chiave in JSON in XML. XML non ha un concetto nativo di array e rappresenta i dati di lista attraverso elementi ripetuti. Lo strumento utilizza uniformemente <item> come nome dell'elemento figlio dell'array, con l'involucro esterno <root> che forma una struttura standard corrispondente alle convenzioni di scambio dati XML.
La modalità prettyPrint genera XML molto più leggibile della modalità minify. Gli sviluppatori possono aprirlo direttamente in editor di testo, editor XML o browser, senza doverlo prima eseguire attraverso xmllint o altri strumenti di formattazione. Questo design è particolarmente utile durante il debug e la regolazione manuale di XML.
Le regole per mappare i tipi JSON di base in XML sono semplici: le stringhe vengono utilizzate direttamente come testo dell'elemento; i numeri vengono convertiti in forma di stringa; i booleani vengono convertiti nelle stringhe 'true'/'false'; null diventa un elemento vuoto o viene omesso.
Gli oggetti nidificati generano ricorsivamente l'albero XML corrispondente. Ad esempio, { "user": { "name": "Alice", "age": 30 } } diventa <root><user><name>Alice</name><age>30</age></user></root>. Questa struttura preserva la gerarchia del JSON originale, consentendo ai parser XML di interrogare facilmente tramite XPath.
Lo strumento utilizza il mapping di soli elementi: tutti i dati JSON vengono convertiti in elementi XML, senza attributi XML. Ciò è dovuto al fatto che il mapping di elementi è più intuitivo, più leggibile e supporta strutture nidificate più complesse.
La conversione in tempo reale è una funzione pratica dello strumento. Lo strumento converte 400ms dopo l'interruzione della digitazione, con 5 scorciatoie da tastiera (macOS ⇧⌘+Enter/F/O/D/K), per consentire agli utenti di completare rapidamente le operazioni comuni senza clic del mouse.
L'auto-riparazione degli errori JSON migliora la resilienza dello strumento. Il JSON del mondo reale ha spesso piccoli problemi come virgole finali, apici singoli, virgolette mancanti o commenti. La funzione integrata tryFixJSON viene invocata automaticamente quando JSON.parse non riesce e tenta di correggere gli errori comuni.
L'elaborazione puramente lato client è la decisione architetturale centrale. Tutta l'analisi JSON e la generazione XML vengono eseguite in JavaScript del browser; nulla viene mai inviato a un server.
Casi d'uso
- Converti le risposte JSON delle API REST in XML per i sistemi aziendali tradizionali (SAP, Oracle EBS) che accettano solo XML.
- Genera feed RSS, feed Atom o sitemap.xml dalla configurazione JSON per la pubblicazione di contenuti e l'indicizzazione SEO.
- Prepara i corpi dei messaggi per i SOAP Web Services (payload XML all'interno dell'envelope SOAP) per l'integrazione del bus di servizi aziendali.
- Converti i fixture di test JSON in formato XML per testare codice di analisi XML legacy o data binding JAXB.
- Converti JSON esportato da database in XML per l'indicizzazione e l'interrogazione in database XML (BaseX, eXist).
- Converti JSON esportato da Excel in XML per l'uso in documenti Office Open XML o file di traduzione XLIFF.
- Converti i dati mock API (JSON) in formato XML per testare client WSDL o serializzazione XML gRPC.
- Insegna la relazione di conversione tra i formati di dati JSON e XML, aiutando a comprendere la logica di mapping tra i formati di serializzazione dei dati.
Come utilizzare
- Incolla JSON nell'editor di sinistra, fai clic su Carica per selezionare un file .json/.txt, o fai clic su Esempio per caricare l'esempio integrato.
- Lo strumento converte automaticamente con un debounce di 400ms. Visualizza il codice XML generato a destra con l'evidenziazione XML di CodeMirror.
- Fai clic sul pulsante Formatta (⇧⌘+F) per re-indentare il JSON a 2 spazi per una lettura più facile di strutture complesse.
- Fai clic su Copia per copiare l'XML negli appunti, o fai clic su Scarica per salvarlo come file output.xml (MIME: text/xml).
- Per cambiare il nome del nodo radice o aggiungere namespace, modifica manualmente l'XML generato.
- Incolla l'XML nel sistema di destinazione (client API, editor XML, sistema aziendale) per l'uso.
Funzionalità
- Mapping intelligente dei nodi: gli oggetti JSON vengono automaticamente avvolti in un nodo <root>, gli array in nodi <item> ripetuti, corrispondendo alle convenzioni di scambio dati XML.
- Output con prettyPrint: alimentato dalla modalità prettyPrint di xmlbuilder2, l'XML generato include rientro e interruzioni di riga per un'eccellente leggibilità.
- Conversione automatica in tempo reale: lo strumento converte 400ms dopo l'interruzione della digitazione, con 5 scorciatoie da tastiera per accelerare le operazioni comuni.
- Auto-riparazione errori JSON: la routine integrata tryFixJSON gestisce automaticamente virgole finali, apici singoli e virgolette di chiave mancanti.
- Compatibilità dei tipi di base: null, boolean, number, string e altri tipi JSON di base vengono convertiti in contenuto testuale di elemento XML.
- Oggetti nidificati ricorsivi: oggetti nidificati di qualsiasi profondità vengono convertiti ricorsivamente nell'albero di elementi XML corrispondente.
- Supporto array multi-livello: array uni e multidimensionali vengono correttamente convertiti in strutture di nodi <item> ripetuti.
- Evidenziazione dual JSON/XML: il lato sinistro usa l'evidenziazione JSON di CodeMirror, il lato destro l'evidenziazione XML per maggiore chiarezza.
- Sistema completo di scorciatoie: 5 scorciatoie comuni (converti/formato/carica/scarica/cancella) per macOS e Windows/Linux.
- Copia e scarica: copia il risultato negli appunti con un clic o scarica come file output.xml standard (MIME: text/xml).
- 100% nel browser: tutta l'analisi e la generazione avviene in JavaScript lato client; il JSON originale non lascia mai il tuo dispositivo.
- Recupero della cronologia: lo strumento salva automaticamente le ultime 200 voci della cronologia e ripristina l'input precedente al caricamento della pagina.
Domande frequenti
Come converto JSON in formato XML?
Incolla il tuo JSON nell'editor di sinistra e lo strumento lo converte automaticamente in formato XML standard. Gli oggetti JSON vengono avvolti in un nodo <root> (ad es. { "name": "Alice" } diventa <root><name>Alice</name></root>), e gli array in nodi <item> ripetuti. La conversione viene eseguita 400ms dopo l'interruzione della digitazione.
Come vengono convertiti gli array JSON in XML?
Gli array JSON vengono automaticamente avvolti in una struttura a due livelli: il nodo <root> esterno e i nodi <item> ripetuti interni. Ad esempio [{"a":1},{"a":2}] diventa <root><item><a>1</a></item><item><a>2</a></item></root>. Questo design corrisponde alle convenzioni comuni di scambio dati XML (RSS, messaggi SOAP).
L'XML generato è formattato?
Sì. Lo strumento utilizza la modalità prettyPrint di xmlbuilder2 per generare XML con rientro e interruzioni di riga. Gli sviluppatori possono incollare il risultato direttamente in strumenti SOAP, editor XML o file di configurazione senza formattazione manuale.
Quali strutture di dati JSON sono supportate?
Tutte le strutture JSON valide sono supportate: primitivi (null, boolean, number, string), array di qualsiasi profondità e oggetti nidificati di qualsiasi profondità. Gli array a ogni livello vengono avvolti in nodi <item> ripetuti.
L'XML scaricato può essere usato direttamente con SOAP o RSS?
Sì. L'XML generato è conforme alla specifica XML 1.0 e può essere analizzato dalla maggior parte degli strumenti SOAP, lettori RSS, database XML (BaseX, eXist) e sistemi aziendali (SAP, Oracle).
Cosa succede se il mio JSON non viene analizzato?
Quando il JSON contiene virgole finali, virgolette mancanti o apici singoli al posto di quelli doppi, lo strumento chiama automaticamente tryFixJSON per tentare una riparazione. Se la riparazione riesce, verrai avvisato; in caso contrario, il pannello di destra mostra la posizione esatta dell'errore.
Posso personalizzare il nome del nodo radice XML?
Questo strumento utilizza uniformemente root come nome del nodo radice e item per gli elementi di array. Queste sono le convenzioni più universali di scambio dati XML. Se hai bisogno di personalizzarli, modifica manualmente l'XML generato o avvolgi il tuo JSON con una chiave personalizzata.
Come vengono rappresentati i numeri e booleani JSON in XML?
XML non ha tipi nativi di numero o booleano; tutti i valori vengono convertiti in stringhe. Ad esempio, true in JSON diventa <isActive>true</isActive>, e 30 diventa <age>30</age>. Al momento dell'analisi il parser XML riconverte le stringhe secondo lo schema o i suggerimenti di tipo.
I namespace XML sono supportati?
Lo strumento genera XML standard senza namespace, adatto alla maggior parte dei casi d'uso generali. Se hai bisogno di XML SOAP o WSDL con namespace, puoi modificare manualmente l'XML generato per aggiungere dichiarazioni xmlns.
Gli attributi XML sono supportati?
No. Lo strumento utilizza il mapping di soli elementi: tutte le chiavi JSON diventano elementi XML e tutti i valori diventano contenuto testuale dell'elemento. Se hai bisogno della forma di attributo, regola manualmente l'XML generato o usa la trasformazione XSLT.
Quali tipi di file di input sono supportati?
Lo strumento supporta file .json e .txt (codifica UTF-8). Clicca sul pulsante Carica per selezionare un file locale; lo strumento lo legge tramite l'API FileReader nativa del browser senza caricarlo su un server.
Quali scorciatoie da tastiera sono disponibili?
Lo strumento supporta queste scorciatoie: su macOS, ⇧⌘+Enter per convertire, ⇧⌘+F per formattare, ⇧⌘+O per caricare, ⇧⌘+D per scaricare, ⇧⌘+K per cancellare; su Windows/Linux, usa Ctrl al posto di ⌘.
Risoluzione dei problemi
Il nodo radice si chiama root, posso cambiarlo?
Lo strumento utilizza root uniformemente. Per personalizzare: 1) modifica manualmente l'XML con trova-sostituisci; 2) avvolgi il tuo JSON con una chiave (ad es. {"response": {...}}) che genera <root><response>...</response></root>.
Errore XML 'unclosed token', cosa fare?
Di solito è perché il JSON contiene caratteri speciali XML (<, >, &) senza escape. Lo strumento li converte automaticamente in entità XML (< > &), ma casi estremi (CDATA, commenti) possono richiedere gestione manuale.
Come personalizzo il nome dell'elemento di array (non item)?
Modifica manualmente l'XML e usa trova-sostituisci per cambiare <item> con il nome desiderato, regolando anche il tag di chiusura </item>.
I numeri JSON sono diventati stringhe, cosa fare?
XML non ha un tipo numerico nativo. Opzioni: 1) usa uno schema XSD con xs:integer/xs:boolean; 2) pre-nomina le chiavi JSON per suggerire i tipi; 3) usa XSLT per convertire i tipi dopo la generazione.
Come mantengo i numeri come tipo numerico in XML?
XML 1.0 non ha un tipo numerico nativo. Se devi preservarlo: 1) usa uno schema XSD con xs:integer; 2) usa JSON Schema + strumento di conversione XML Schema; 3) aggiungi il namespace XSI.
Con cosa apro il file .xml scaricato?
Il file scaricato output.xml è un file XML standard codificato in UTF-8. Puoi aprirlo con qualsiasi editor di testo (VS Code, Sublime, Notepad++) o editor XML professionale (XMLSpy, oXygen), o trascinarlo in un browser.
Gli emoji o caratteri non ASCII causano errori?
No. Lo strumento supporta la codifica UTF-8 completa, inclusi cinese, giapponese, coreano e caratteri Unicode emoji. La libreria xmlbuilder2 gestisce automaticamente l'escape delle entità XML.
Glossario
- JSON (JavaScript Object Notation)
- Formato leggero di scambio dati basato sulla sintassi degli oggetti JavaScript, ma indipendente da qualsiasi linguaggio di programmazione.
- XML (eXtensible Markup Language)
- Linguaggio di markup estensibile definito da W3C nel 1998. Usa tag per descrivere i dati e supporta namespace, validazione di schemi e trasformazioni XSLT.
- xmlbuilder2
- Libreria JavaScript di costruzione XML per generare documenti XML strutturati.
- Avvolgimento dei nodi (root / item)
- Convenzione di denominazione dello strumento: gli oggetti JSON sono avvolti in <root>, gli elementi di array JSON in <item> ripetuti.
- prettyPrint
- Modalità di output di xmlbuilder2 che aggiunge automaticamente rientro e interruzioni di riga per migliorare la leggibilità.
- SOAP (Simple Object Access Protocol)
- Protocollo di comunicazione di servizi web basato su XML con envelope, header e body.
- Feed RSS / Atom
- Formati di distribuzione di contenuti basati su XML.
- Elemento vs attributo
- Due modi per rappresentare dati in XML: elementi (tag) o attributi (key='value').
- Sezione CDATA
- Sintassi XML speciale <![CDATA[...]]> per incorporare testo con caratteri speciali.
- Namespace XML
- Meccanismo per evitare conflitti di nomi di elementi tramite l'attributo xmlns.
- XPath
- Linguaggio di query di percorsi XML per localizzare nodi in un documento XML.
- XSLT
- Linguaggio di trasformazione di fogli di stile XML per convertire XML tra formati.
- tryFixJSON
- Routine di riparazione JSON integrata che gestisce gli errori di sintassi JSON comuni.
Regole di mappatura dei tipi da JSON a elementi XML
Regole di mappatura basate su xmlbuilder2:
| Valore JSON | Esempio | Elemento XML | Regola |
|---|---|---|---|
string | "Alice" | <name>Alice</name> | Stringa come testo dell'elemento |
number | 30 | <age>30</age> | Numero convertito in stringa |
boolean | true | <isActive>true</isActive> | Booleano convertito in 'true'/'false' |
object | {"a":1} | <root><a>1</a></root> | Oggetto avvolto in <root> |
array | [{"a":1}] | <root><item><a>1</a></item></root> | Array avvolto in <item> |
Privacy & Security
Questo strumento di conversione da JSON a XML viene eseguito interamente nel tuo browser. L'analisi JSON, la generazione XML e la formattazione con prettyPrint avvengono in JavaScript lato client (con la libreria xmlbuilder2); nulla viene inviato a un server. I caricamenti di file utilizzano l'API FileReader nativa e non passano mai attraverso un servizio intermedio. Lo strumento non utilizza cookie di tracciamento e non raccoglie dati di input o utilizzo. Tutti gli input e output vengono cancellati dalla memoria non appena la pagina viene chiusa o ricaricata. Sicuro da usare con JSON contenenti dati aziendali sensibili o risposte API interne.
Authoritative References
- Compressione JSON
- CSV in JSON
- JSON to CSV
- JSON Diff
- JSON Escape / Unescape
- Appiattimento JSON
- Formattatore JSON
- Generatore JSON
- Query JSONPath
- Unire JSON
- Riparare JSON
- Validatore di Schema JSON
- Ordinare JSON
- JSON Stringify
- JSON in HTML
- JSON in Java
- JSON to Markdown
- JSON in SQL
- JSON in TOML
- JSON in TypeScript
- XML in JSON
- JSON in XML
- YAML in JSON
- Da JSON a YAML
- JSON in Python
- JSON in Go
- JSON in Rust
- JSON in Swift
- JSON a C#
- JSON a C++
- JSON to PHP