Come convertire JSON in XML
Il testo JSON viene trasformato in XML secondo la struttura di oggetti, array e valori fornita. Il nome della radice e la formattazione leggibile possono essere impostati prima di avviare l’operazione.
A cosa serve la conversione
Questo strumento converte testo JSON in XML e mette a disposizione controlli per il nome dell’elemento radice e per la formattazione leggibile. Può essere utile quando devi trasferire una struttura dati verso un sistema che accetta XML oppure quando vuoi esaminare più chiaramente la gerarchia di oggetti e liste. Prima di iniziare, considera il tipo di valore che stai fornendo: un oggetto, un array, null e un input vuoto non vengono rappresentati allo stesso modo. Anche i nomi delle chiavi meritano attenzione, perché la conversione deve adattarli alle regole dei nomi XML quando contengono caratteri non supportati o iniziano con una cifra.
Passaggi operativi
-
Prepara il testo JSON da convertire e inseriscilo nel controllo dedicato all’input. Usa una sintassi completa, con virgolette doppie per le stringhe e parentesi correttamente accoppiate. Se lasci l’input vuoto o composto soltanto da spazi, il risultato previsto è una stringa XML vuota, quindi questo caso non equivale alla conversione del valore
null. -
Controlla il nome dell’elemento radice. Se non ne indichi uno diverso, viene usato
root. Puoi anche lasciare attiva la formattazione leggibile, che per un JSON non vuoto e diverso danulltenta di organizzare l’output con indentazione e aggiunge una dichiarazione XML iniziale. -
Avvia la conversione e osserva la struttura generata. Quando l’input è un oggetto JSON, ogni membro diventa un elemento figlio; se un membro contiene un altro oggetto, la struttura interna resta dentro l’elemento associato a quel membro. In questo modo i livelli dell’oggetto si possono seguire dalla radice verso gli elementi annidati.
-
Esamina gli array in base alla loro posizione. Gli elementi di un array al livello principale vengono racchiusi in elementi
item, così come gli oggetti contenuti negli array. Un array di valori posto dentro un oggetto usa invece, per gli elementi ripetuti, il nome del membro contenitore; una lista annidata riutilizza il tag del genitore. Questa differenza può cambiare la forma dell’XML anche quando i dati JSON sembrano simili. -
Verifica i nomi risultanti prima di usarli in un altro flusso. I caratteri che non appartengono all’insieme supportato per i nomi XML vengono sostituiti con sottolineature. Se una chiave o il nome della radice comincia con una cifra, viene aggiunta una sottolineatura iniziale. Confronta quindi la struttura ottenuta con le regole del sistema che dovrà leggere l’XML, senza aspettarti che ogni grafia della chiave rimanga identica.
Interpretare l’output
Per interpretare il risultato, separa la struttura dei dati dalla sua presentazione. La dichiarazione XML e gli spazi di indentazione riguardano il formato dell’output, mentre gli elementi e i loro rapporti descrivono il contenuto JSON. Con la formattazione leggibile attiva, la dichiarazione iniziale e il tentativo di indentazione riguardano i JSON non vuoti e diversi da null; un valore null produce invece un elemento radice autochiuso senza quella dichiarazione.
I contenuti testuali possono includere caratteri speciali che vengono convertiti nella forma con escape necessaria durante la serializzazione XML. Questo comportamento riguarda il testo degli elementi e non impedisce di controllare la struttura dei nomi, che segue una regola distinta di sostituzione. Se il risultato non contiene un documento convertito perché il JSON è malformato, correggi prima la sintassi e solo dopo valuta la forma dell’XML.
Un controllo finale dovrebbe quindi verificare tre aspetti: la presenza della radice scelta, la collocazione degli elementi derivati da oggetti e array e l’eventuale modifica dei nomi non compatibili. Per input vuoto e null, interpreta il risultato secondo il rispettivo percorso, invece di considerarli due modi equivalenti per indicare l’assenza di dati.
Esempio pratico
Devi convertire un piccolo oggetto JSON con il nome di un utente e vuoi leggere la gerarchia XML risultante.
Inserisci {"utente":{"nome":"Luca"}}, mantieni root come nome della radice e avvia la conversione lasciando attiva la formattazione leggibile.
L’output presenta una radice root, con un elemento utente che contiene l’elemento nome; con la formattazione leggibile attiva include la dichiarazione XML iniziale e l’indentazione tentata per un JSON non vuoto.
Limiti
- Un testo JSON malformato segue un percorso di insuccesso e non restituisce un documento XML convertito.
- La grafia originale di una chiave o del nome radice può cambiare quando contiene caratteri non supportati oppure comincia con una cifra.
Errori comuni
- Una virgola fuori posto, una parentesi mancante o una stringa non chiusa rende il JSON malformato e porta a un risultato non riuscito; correggi la sintassi dell’input e ripeti la conversione.
Domande frequenti
Che cosa succede con un input vuoto o con null?
Con un input vuoto o formato soltanto da spazi viene restituita una stringa XML vuota. Con il valore JSON null viene invece prodotto un elemento radice autochiuso.
La formattazione leggibile aggiunge una dichiarazione XML?
Per un JSON non vuoto e diverso da null, la formattazione leggibile attiva aggiunge una dichiarazione XML iniziale e tenta l’indentazione. Il valore null costituisce un caso distinto e non riceve quella dichiarazione.
I nomi delle chiavi JSON restano invariati nell’XML?
Non in ogni caso: i caratteri non supportati nei nomi XML vengono sostituiti con sottolineature, mentre una cifra iniziale viene preceduta da una sottolineatura. Il contenuto della chiave può quindi risultare modificato nell’elemento generato.