XML in JSON
XML e JSON modellano i dati in modo diverso: XML ha attributi e contenuto misto, JSON ha oggetti e array. Convertire senza perdita richiede una convenzione. Questo strumento offre tre opzioni: compatto (elimina gli attributi), Badgerfish (attributi sotto @key, testo sotto $) e letterale (ogni nodo XML diventa un oggetto JSON con piena fedeltà). Scegli quello che corrisponde al consumatore JSON a cui ti stai rivolgendo.
Come convertire XML in JSON
-
1
Incolla XML
Qualsiasi XML ben formato. Gli spazi dei nomi sono preservati.
-
2
Scegli lo stile di conversione
Compatto, Badgerfish o letterale/senza perdita.
-
3
Gestisci gli array
Forza determinati elementi a essere sempre array (configurabile).
-
4
Copia l'output JSON
Formattato o minimizzato, a tua scelta.
I tre stili a confronto
Input:
<book id="1" lang="en">
<title>1984</title>
<author>Orwell</author>
</book>
Compatto (elimina gli attributi):
{
"book": {
"title": "1984",
"author": "Orwell"
}
}
Badgerfish (attributi sotto @, testo sotto $):
{
"book": {
"@id": "1",
"@lang": "en",
"title": { "$": "1984" },
"author": { "$": "Orwell" }
}
}
Letterale / JsonML-ish (piena fedeltà):
{
"book": {
"@attributes": { "id": "1", "lang": "en" },
"title": "1984",
"author": "Orwell"
}
}
Array forzati
XML non ha modo di dire “questa è una lista di uno”. Una sequenza a singolo elemento appare identica a uno scalare:
<items>
<item>A</item>
</items>
Questo può serializzarsi come {"item": "A"} o {"item": ["A"]}. Il convertitore ti consente di contrassegnare i nomi degli elementi (tramite XPath) come sempre-array, in modo che il tuo consumatore JSON a valle ottenga tipi coerenti.
Contenuto misto
Il contenuto misto, testo intercalato con elementi figli, è l’unico posto in cui qualsiasi conversione da XML a JSON perde informazioni:
<p>Ciao <em>mondo</em>!</p>
La maggior parte degli stili elimina il testo o lo comprime. Lo stile letterale preserva l’ordine tramite un array:
{
"p": {
"@content": ["Ciao ", { "em": "mondo" }, "!"]
}
}
Inferenza di tipo
Per impostazione predefinita, i valori sono stringhe. Attiva “analizza numerico/booleano” e il convertitore convertirà 42, 3.14, true, false nei tipi JSON corrispondenti. Fai attenzione: un attributo XML id="007" diventa 7 con la conversione attivata, cosa che probabilmente non desideri.
Quando scegliere quale
- Compatto: per JSON leggibile dall’uomo dove gli attributi sono rumore.
- Badgerfish: quando hai bisogno di attributi e testo alla stessa profondità dei figli.
- Letterale: quando devi tornare a XML senza perdita.
Domande frequenti
Quando un elemento appare una sola volta, il convertitore predefinisce come oggetto; due o più, come array. Usa l’opzione forzare-array per renderlo coerente se il tuo consumatore si aspetta una forma.
I prefissi degli spazi dei nomi sono preservati nelle chiavi (ns:title) a meno che tu non attivi “rimuovi spazi dei nomi”. Le dichiarazioni stesse diventano attributi @xmlns:ns sull’elemento radice.
La modalità letterale è la più vicina a senza perdita, ma l’ordinamento del contenuto misto tra elementi e testo è complicato. La modalità compatta perde sicuramente gli attributi. Badgerfish è un compromesso pragmatico.
No. La conversione avviene nel tuo browser.
Strumenti correlati
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 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.
Convertitore da Markdown a BBCode
Converti documenti Markdown in BBCode per phpBB, vBulletin e software per forum che accetta solo la formattazione BBCode.
Convertitore da INI a YAML
Converti file di configurazione INI in YAML. Le sezioni diventano mappature, i valori sono preservati come stringhe. Pronto per Helm, Ansible e pipeline CI.
Visualizzatore Markdown
Scrivi Markdown e guarda l'HTML renderizzato aggiornarsi in tempo reale. Sintassi in stile GitHub con tabelle, elenchi di attività, codice racchiuso e autolink.
Generatore di Meta Tag
Crea un frammento completo `<head>` con titolo, descrizione, Open Graph, Twitter Card, tag canonici e robots da un semplice modulo.
Strumento disponibile in altre lingue
- XML zu JSON [DE]
- XML para JSON [PT]
- Chuyển đổi từ XML sang JSON [VI]
- XML till JSON [SV]
- แปลง XML เป็น JSON [TH]
- XML ke JSON [ID]
- XML → JSON [KO]
- XML a JSON [ES]
- XMLからJSONへ [JA]
- XML إلى JSON [AR]
- XML vers JSON [FR]
- XML naar JSON [NL]
- XML do JSON [PL]
- От XML к JSON [RU]
- XML'den JSON'a [TR]
- XML 转 JSON [ZH]
- XML to JSON [EN]