JSON (JavaScript Object Notation) e XML (eXtensible Markup Language) sono i due formati di scambio dati dominanti nello sviluppo software. JSON usa coppie chiave-valore e array in una sintassi compatta, mentre XML racchiude i dati in tag di apertura e chiusura con attributi opzionali. Convertire JSON in XML significa tradurre i primitivi strutturali di JSON — oggetti, array, stringhe, numeri, booleani e null — in un documento XML ben formato con annidamento degli elementi corrispondente.
XML rimane il formato richiesto in molti sistemi enterprise, API governative, servizi web SOAP e standard di settore come HL7 (sanità), FpML (finanza) e XBRL (rendicontazione finanziaria). Quando la tua applicazione produce JSON ma il sistema di destinazione si aspetta XML, un convertitore da JSON a XML gestisce la traduzione senza ristrutturazione manuale. La conversione segue regole di mappatura prevedibili: gli oggetti JSON diventano elementi XML, gli elementi degli array diventano elementi fratelli ripetuti, e i valori primitivi diventano nodi di testo.
Non esiste un unico RFC o standard W3C che definisca come JSON si mappa su XML. Librerie diverse producono output diversi per lo stesso input. La convenzione più comune (usata da questo strumento) racchiude l'intero documento in un elemento radice configurabile, converte ogni chiave JSON in un elemento figlio XML, e rappresenta gli elementi degli array come elementi ripetuti con lo stesso nome di tag. Comprendere queste regole di mappatura è importante quando il sistema destinatario applica uno schema XML specifico (XSD).
Perché usare un convertitore online da JSON a XML?
Scrivere XML a mano a partire da una sorgente JSON è tedioso e soggetto a errori. Tag non corrispondenti, elementi di chiusura dimenticati e annidamenti errati producono documenti che falliscono la validazione dello schema. Un convertitore gestisce la traduzione strutturale automaticamente.
⚡
Conversione istantanea nel browser
Incolla il JSON e ottieni XML ben formato in pochi millisecondi. Nessun round-trip al server, nessuna configurazione CLI, nessuna installazione di dipendenze. La conversione viene eseguita interamente in JavaScript sul tuo dispositivo.
🔒
Dati sensibili al sicuro
Il tuo input JSON non lascia mai la scheda del browser. Tutto il parsing e la generazione XML avvengono lato client, rendendo sicura la conversione di payload contenenti chiavi API, token o dati di produzione.
📋
Nessun account o login richiesto
Apri la pagina, incolla il tuo JSON e copia l'output XML. Nessun modulo di registrazione, verifica email o limiti di utilizzo tra te e i tuoi dati convertiti.
🌳
Gestione automatica delle strutture annidate
Oggetti profondamente annidati, array misti e valori null vengono convertiti correttamente. Lo strumento preserva la gerarchia completa del tuo input JSON nell'albero XML risultante.
Casi d'uso della conversione da JSON a XML
Integrazione con servizi web SOAP
La tua REST API restituisce JSON, ma l'endpoint SOAP di un partner richiede body XML. Converti il payload JSON in XML prima di includerlo in un envelope SOAP.
Scambio dati enterprise
I sistemi ERP e CRM legacy spesso accettano solo importazioni XML. Converti le esportazioni JSON da strumenti moderni in feed XML che corrispondono allo schema atteso.
Configurazione pipeline CI/CD
Alcuni strumenti di build (Maven, Ant, MSBuild) usano file di configurazione XML. Genera frammenti di configurazione XML da file di parametri JSON durante le build automatizzate.
Preparazione dati di test QA
Genera fixture XML di test da dataset JSON. Produci rapidamente documenti XML validi per testare parser XML, trasformazioni XSLT o query XPath.
Bridging di formati in pipeline dati
Le pipeline ETL che ingeriscono XML possono ricevere dati da API che producono JSON. Converti i risultati JSON intermedi in XML prima di caricarli nello stadio di elaborazione basato su XML.
Apprendimento della struttura XML
Gli studenti che studiano XML possono incollare strutture JSON familiari e vedere la rappresentazione XML equivalente. Questo rende concreti l'annidamento dei tag, la gerarchia degli elementi e la struttura del documento.
Regole di mappatura da JSON a XML
Poiché non esiste uno standard universale che regoli la conversione da JSON a XML, strumenti diversi producono output diversi. La tabella seguente mostra le convenzioni di mappatura usate da questo convertitore e dalle librerie più popolari (js2xmlparser, xmlbuilder, fast-xml-parser). La convenzione degli elementi fratelli ripetuti per gli array è diventata dominante perché rispecchia il modo naturale in cui gli schemi XML modellano le collezioni — ogni elemento è un'entità di primo livello piuttosto che un figlio racchiuso — e si integra con le query XPath e le trasformazioni XSLT.
JSON Type
JSON Example
XML Output
Object
{"name": "Alice"}
<name>Alice</name>
Nested object
{"user": {"age": 30}}
<user><age>30</age></user>
Array
{"colors": ["red", "blue"]}
<colors>red</colors><colors>blue</colors>
String
"hello"
<root>hello</root>
Number
42
<root>42</root>
Boolean
true
<root>true</root>
Null
null
<root/>
Empty object
{}
<root/>
Empty array
[]
(no child elements)
Esempi di codice
Di seguito trovi snippet eseguibili per convertire JSON in XML in tre ambienti. Ogni esempio produce XML ben formato da un oggetto JSON di esempio.
package main
import (
"encoding/json"
"encoding/xml"
"fmt"
)
type Item struct {
SKU string `json:"sku" xml:"sku"`
Qty int `json:"qty" xml:"qty"`
}
type Order struct {
XMLName xml.Name `xml:"order"`
ID int `json:"id" xml:"id"`
Items []Item `json:"items" xml:"items"`
Shipped bool `json:"shipped" xml:"shipped"`
}
func main() {
raw := `{"id":1024,"items":[{"sku":"A1","qty":2},{"sku":"B3","qty":1}],"shipped":false}`
var order Order
json.Unmarshal([]byte(raw), &order)
out, _ := xml.MarshalIndent(order, "", " ")
fmt.Println(xml.Header + string(out))
// → <?xml version="1.0" encoding="UTF-8"?>
// → <order>
// → <id>1024</id>
// → <items>
// → <sku>A1</sku>
// → <qty>2</qty>
// → </items>
// → ...
}
Domande frequenti
La conversione da JSON a XML è senza perdita di dati?
Dal punto di vista strutturale, sì — ogni valore JSON si mappa su un elemento XML o su un nodo di testo. Tuttavia, XML non distingue nativamente tra numeri, booleani e stringhe come fa JSON. Il valore 42 in JSON diventa il contenuto testuale "42" in XML. Se il sistema destinatario si basa su dichiarazioni di tipo XML Schema (XSD), può recuperare i tipi originali durante il parsing. Senza uno schema, le informazioni sul tipo vengono di fatto perse nel documento convertito.
Come vengono convertiti gli array JSON in XML?
Ogni elemento dell'array diventa un elemento XML fratello con lo stesso nome di tag. Ad esempio, l'array JSON "colors": ["red", "blue"] produce due elementi: <colors>red</colors> e <colors>blue</colors>. Alcuni convertitori racchiudono gli array in un elemento padre (es. <colorsList>), ma l'approccio con elementi fratelli ripetuti è più comune e corrisponde alla convenzione usata da JAXB, Jackson e fast-xml-parser.
Cosa succede ai valori null durante la conversione?
Un null JSON si converte tipicamente in un elemento XML vuoto — ad esempio, "middle_name": null diventa <middle_name/>. Alcune librerie aggiungono un attributo xsi:nil="true" per segnalare un null esplicito, utile quando il sistema di destinazione valida rispetto a uno schema XSD. Questo convertitore produce un elemento vuoto auto-chiudente per impostazione predefinita.
Posso convertire XML di nuovo in JSON?
Sì, ma il round-trip non è sempre simmetrico. Le funzionalità XML come attributi, istruzioni di elaborazione, commenti, contenuto misto e namespace non hanno un equivalente diretto in JSON. Convertire XML in JSON e poi di nuovo in XML può produrre un documento strutturalmente diverso. Se hai bisogno della conversione da XML a JSON, usa un convertitore dedicato che preservi attributi e namespace.
Come gestisco chiavi JSON che non sono nomi di elementi XML validi?
I nomi degli elementi XML non possono iniziare con una cifra, contenere spazi o includere la maggior parte dei caratteri speciali. Se il tuo JSON ha una chiave come "2024-data" o "first name", il convertitore deve sanitizzarla — tipicamente aggiungendo un underscore come prefisso o sostituendo i caratteri non validi con underscore. Controlla l'output del convertitore e modifica i nomi delle chiavi nel JSON sorgente se l'XML risultante deve superare la validazione XSD.
Qual è la dimensione massima di JSON gestibile da questo strumento?
Il convertitore viene eseguito nel motore JavaScript del browser, quindi il limite pratico dipende dalla memoria disponibile. La maggior parte dei browser moderni gestisce documenti JSON fino a 50-100 MB senza problemi. Per file di dimensioni superiori, usa un convertitore con streaming come xmltodict di Python o uno strumento da riga di comando che elabori i dati in modo incrementale invece di caricarli tutti in memoria.
L'output XML è ben formato o valido?
L'output è sempre XML ben formato — i tag sono correttamente annidati, i caratteri speciali vengono escaped e il documento ha un unico elemento radice. Se l'output sia valido dipende dallo schema di destinazione (XSD o DTD). La buona formazione è una garanzia strutturale; la validità richiede che i nomi degli elementi, l'ordine di annidamento e i tipi di contenuto corrispondano a una definizione di schema specifica.