Convertitore da JSON a XML
Trasforma dati JSON in XML valido.
Funziona nel browser. Quello che scrivi non viene inviato da nessuna parte.
- Elemento radice personalizzato
- Sempre ben formato
- Niente viene caricato
Come convertire JSON in XML
- Incolla o carica il tuo JSON.
- Scrivi un nome per l'elemento radice.
- Copia l'XML o scaricalo.
Esempio: JSON in ingresso, XML in uscita
| JSON | XML |
|---|---|
| {"name":"Sam"} | <root><name>Sam</name></root> |
| {"@_id":"5","#text":"Widget"} | <root id="5">Widget</root> |
| {"tag":["a","b"]} | <root><tag>a</tag><tag>b</tag></root> |
Come le chiavi JSON diventano nomi di tag
- Un carattere che XML non ammette in un nome, come uno spazio, viene sostituito con _, così "first name" diventa first_name.
- Una chiave che inizia con una cifra riceve un _ iniziale, perché i nomi XML non possono iniziare con un numero.
- Una chiave che entra in conflitto con una già rinominata riceve un numero in coda, così un secondo first_name diventa first_name_2.
Dove torna utile JSON in XML
- Inviare dati a un sistema o un'API più datati che accettano solo XML.
- Costruire un piccolo feed, come un file in stile RSS, a partire da una fonte di dati JSON.
- Verificare come apparirebbe un payload JSON come corpo di una richiesta SOAP o XML legacy.
Limiti da tenere presenti
- Un null JSON diventa un elemento vuoto, perché XML non ha nulla che significhi esattamente null.
- Le chiavi che differiscono solo per maiuscole e minuscole, come Name e name, diventano due tag diversi, perché i nomi dei tag XML distinguono le maiuscole dalle minuscole.
- Numeri e booleani vengono scritti come semplice testo nell'XML. Chi legge deve sapere di doverli riconvertire nel tipo originale.
Domande su JSON in XML
Come vengono scritti gli array in XML?
Ogni elemento di un array diventa un elemento ripetuto con il nome della sua chiave. Un array al livello più alto viene racchiuso in elementi item sotto la radice.
Come creo gli attributi?
Fai iniziare una chiave con @_, come "@_id": 5, e diventa un attributo del suo elemento genitore. Corrisponde all'output del convertitore da XML a JSON.
Cosa succede se una chiave non è un nome di tag XML valido?
I caratteri che XML non ammette nei nomi, come gli spazi, vengono sostituiti con _, e un nome che inizia con una cifra riceve un _ davanti. Così "first name" diventa first_name.
Posso fare un giro completo passando per XML in JSON e ritorno?
Sì. Il JSON prodotto dal convertitore da XML a JSON con gli attributi attivi, comprese le sue chiavi @_ e i valori #text, si riconverte qui in XML corrispondente.
Cosa succede a un array JSON di valori semplici, come un elenco di tag?
Ogni valore diventa un proprio elemento ripetuto con il nome della chiave dell'array, per esempio un array tags di ["a","b"] sotto la chiave tag diventa <tag>a</tag><tag>b</tag>.
L'output include una dichiarazione XML?
Sì. Ogni risultato inizia con <?xml version="1.0" encoding="UTF-8"?> sulla propria riga.
Fa l'escape di caratteri speciali come < o & dentro il testo?
Sì. Qualsiasi carattere che altrimenti romperebbe la sintassi XML dentro il testo o un valore di attributo viene sottoposto automaticamente a escape, così il risultato si analizza sempre correttamente.
Posso annidare un oggetto dentro un array dentro un altro oggetto?
Sì. Qualsiasi profondità e combinazione di oggetti e array si converte, con ogni livello che diventa un proprio insieme di elementi annidati.