JSON in XML
Incolla un documento JSON e ottieni l’equivalente XML con il nome dell’elemento radice che scegli, una strategia coerente per gli array (elementi ripetuti o un wrapper), dichiarazione XML opzionale e indentazione ordinata. Utile quando un sistema legacy richiede XML e i tuoi dati upstream sono in JSON.
Come convertire JSON in XML
-
1
Incolla JSON
Oggetto o array a livello superiore. Dovrai dare un nome all'elemento radice.
-
2
Nomina la radice
XML richiede un singolo elemento radice. Il predefinito è `<root>`; dagli un nome significativo come `<users>` o `<response>`.
-
3
Scegli la strategia per gli array
"Elementi ripetuti" (ogni elemento dell'array diventa un fratello `<item>`) o "wrapper" (l'array va all'interno di un elemento wrapper nominato).
-
4
Copia l'XML
Dichiarazione XML opzionale, indentazione corretta e valori con escape per `<`, `>`, `&` e virgolette.
Esempio: elementi ripetuti
Input:
{ "users": [ { "name": "Alice" }, { "name": "Bob" } ] }
Output:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<users>
<name>Alice</name>
</users>
<users>
<name>Bob</name>
</users>
</root>
Esempio: wrapper per array
Stesso input con la strategia “avvolgi gli array in <item>”:
<root>
<users>
<item>
<name>Alice</name>
</item>
<item>
<name>Bob</name>
</item>
</users>
</root>
Mappatura dei tipi
| JSON | XML |
|---|---|
| string | contenuto di testo, con escape |
| integer / decimal | contenuto di testo (senza annotazione di tipo XML) |
| boolean | true / false come testo |
| null | elemento vuoto (<foo/>) o omesso |
| array | elementi ripetuti o wrapper + elementi |
| object | elemento annidato con elementi figli |
Attributi vs elementi
XML distingue gli attributi (<user id="1">) dagli elementi figli (<user><id>1</id></user>). Il convertitore predefinito utilizza elementi, sono senza perdita per il round-tripping. Se il tuo XML downstream richiede attributi, utilizza una convenzione di prefisso per le chiavi:
- La chiave JSON
@iddiventa un attributo XMLid="..."sull’elemento padre. - La chiave JSON
#textdiventa il contenuto di testo dell’elemento padre.
Queste convenzioni provengono dalle mappature BadgerFish e Parker, i due standard più comuni per JSON-to-XML.
Regole di escape
<-><>->>&->&"->"(nei valori degli attributi)'->'(opzionale)- I byte in UTF-8 sono preservati, dichiarati nel prologo XML.
Errori comuni
- Array JSON a livello radice. XML ha bisogno di un singolo elemento radice. Il convertitore avvolge un array in
<root>(o qualunque nome tu scelga). - Chiavi numeriche. JSON
{"1": "a"}è legale; i nomi degli elementi XML non possono iniziare con una cifra. Il convertitore antepone le cifre con un trattino basso (_1) o ti consente di definire una mappatura personalizzata. - Array misti.
[1, "due", { "x": true }]non ha una mappatura pulita. Di solito significa che il JSON ha bisogno di normalizzazione prima della conversione. - Documenti enormi. XML è verboso, un JSON di 10 MB può diventare un XML di 20-30 MB. Considera la conversione in streaming per payload molto grandi.
Domande frequenti
Per specifica, XML richiede una singola radice. Se il tuo JSON è un array o ha più chiavi di livello superiore, il convertitore avvolge tutto in un elemento radice che puoi nominare (predefinito <root>).
Sì. Usa la convenzione del prefisso @ nelle tue chiavi JSON (ad es. "@id": 1) e quelle chiavi diventano attributi. Altre chiavi rimangono come elementi figli. Questo corrisponde alla mappatura BadgerFish.
Due strategie: elementi fratelli ripetuti (ogni elemento ottiene la chiave padre come tag), o un wrapper con elementi <item> all’interno. Scegli quella che corrisponde allo schema XML che stai mirando.
No. Il convertitore emette la dichiarazione XML (<?xml version="1.0"?>) ma non un DOCTYPE. Per XML che richiede un riferimento DTD o XSD, aggiungilo manualmente dopo la conversione.
Strumenti correlati
Riferimento Tabella ASCII
Tabella ASCII completa da 0 a 127 con decimale, esadecimale, ottale, binario e riferimento numerico HTML per ogni carattere, inclusi i codici di controllo come NUL, LF e DEL.
Riferimento ai caratteri HTML
Elenco ricercabile delle entità HTML, dei loro codici nominati e numerici, e copia con un clic per caratteri e simboli speciali.
Generatore di lettere casuali
Genera lettere A-Z casuali. Scegli la quantità, usa maiuscole, minuscole o un mix, e applica il risultato a giochi, spunti o attività in classe.
Riferimento scorciatoie da tastiera
Cerca le scorciatoie predefinite documentate di VS Code, Chrome e Bash con GNU Readline su macOS, Windows e Linux.
Promemoria Markdown
Riferimento pratico Markdown con anteprime reali ed esempi pronti da copiare per titoli, elenchi, tabelle, codice, link, immagini e sintassi GFM.
Creatore di diagrammi di flusso
Crea nel browser diagrammi di flusso visivi con cinque tipi di nodo, connessioni dirette e download SVG o PNG.
Strumento disponibile in altre lingue
- JSON vers XML [FR]
- JSON para XML [PT]
- Chuyển đổi từ JSON sang XML [VI]
- JSONからXMLへ [JA]
- JSON إلى XML [AR]
- JSON till XML [SV]
- แปลง JSON เป็น XML [TH]
- JSON zu XML [DE]
- JSON ke XML [ID]
- JSON에서 XML로 [KO]
- JSON naar XML [NL]
- JSON a XML [ES]
- JSON do XML [PL]
- JSON to XML [EN]
- Преобразование JSON в XML [RU]
- JSON'ten XML'e [TR]
- JSON 到 XML [ZH]