UltKit

Convertitore da JSON a XML

Per passare dati JSON a software che legge solo XML. Ogni record diventa un elemento, ogni chiave un tag figlio, e l'intero documento si trova sotto un unico elemento radice di cui si sceglie il nome.

Convertitore di dati

oppure trascina qui File CSV, TSV, TXT … ·

Max 95 MB per file· Fino a 20 file· Eliminati dopo 30 minuti

Output

I file vengono elaborati sui nostri server ed eliminati dopo 30 minuti.

Come usare questo strumento

  1. 1

    Caricare il file JSON

    Aggiungere un file .json, ad esempio la risposta di un'API, oppure un file JSON Lines. Fino a 20 file, 95 MB ciascuno.

  2. 2

    Assegnare un nome all'elemento radice

    In Impostazioni avanzate digitare il tag esterno in Tag radice XML (il valore iniziale è rows) e lasciare attiva l'opzione Formattazione leggibile per ottenere un output indentato.

  3. 3

    Convertire e mappare

    Premere Converti in XML e scaricare il risultato. Rinominare i tag se lo schema del sistema di destinazione prevede nomi diversi.

Perché convertire JSON in XML se quasi tutte le API sono passate al JSON

JSON ha vinto sulle API web; la specifica attuale, RFC 8259 del 2017, sta in poche pagine. XML è più vecchio, Raccomandazione W3C dal febbraio 1998, e non ha mai lasciato gli ambiti in cui i contratti sono rigidi: banche, fatturazione elettronica, editoria e comunicazioni alla pubblica amministrazione.

Per questo la direzione di questa conversione dipende di solito dal denaro o dalle norme. Uno sviluppatore ricava ordini da un'API JSON e deve inviarli al servizio SOAP di un partner. Un negozio tiene i prodotti in JSON, ma il comparatore di prezzi vuole un feed XML. Un team conserva le traduzioni in JSON e una build Android richiede strings.xml. Se la destinazione è invece un foglio di calcolo, da JSON a CSV produce righe anziché elementi.

Sistemi che richiedono ancora dati in XML

Dove si usa un convertitore da JSON a XML
EnteRequisitoFonte
Servizi web SOAPOgni richiesta viaggia in una busta XML; SOAP 1.2 è diventato Raccomandazione W3C nel 2003—
Google Merchant CenterFeed prodotti accettati in XML come RSS 2.0 o Atom 1.0, oltre che in testo delimitato—
Fatturazione elettronica PeppolFatture scambiate come documenti XML UBL 2.1 secondo le regole Peppol BIS Billing 3.0—
App AndroidRisorse di testo e traduzioni si trovano in res/values/strings.xml—

Esempio da JSON a XML: due prodotti

XML generato da [{"sku":"A-17","price":12.5,"tags":["new","sale"]}, {"sku":"B-02","price":8}]
<?xml version="1.0" encoding="UTF-8"?>
<rows>
  <row>
    <sku>A-17</sku>
    <price>12.5</price>
    <tags>novità</tags>
    <tags>saldi</tags>
  </row>
  <row>
    <sku>B-02</sku>
    <price>8</price>
  </row>
</rows>

MitoJSON e XML corrispondono uno a uno, quindi la conversione è esatta.

RealtàXML ha attributi, contenuto misto e namespace che JSON non ha, e JSON ha tipi che XML non ha. Un convertitore deve scegliere una mappatura; questo usa elementi figli ovunque.

MitoIl numero 12.5 resta un numero anche nell'XML.

RealtàXML memorizza caratteri. 12.5 è testo finché uno schema o il programma che legge non stabilisce che è un decimale.

Cosa cambia quando il JSON diventa XML

Vale la pena controllare tre aspetti. I tipi diventano testo, quindi true, null e 0 arrivano tutti come caratteri; un null di solito diventa un elemento vuoto. Le chiavi che non sono nomi XML validi vanno rinominate, perché un tag non può iniziare con una cifra né contenere spazi. Infine l'output è più grande, perché ogni valore è racchiuso tra un tag di apertura e uno di chiusura che ripetono la chiave.

Il resto non si perde. L'annidamento resta sotto forma di elementi annidati, l'ordine dei record è mantenuto e il testo Unicode rimane intatto perché il file è scritto in UTF-8. Altre opzioni per i dati strutturati, da YAML a SQL, sono elencate nella pagina del convertitore dati.

Caratteristiche dei formati JSON e XML

JSON

JavaScript Object Notation

JSON è un formato di testo leggero per dati strutturati, reso popolare da Douglas Crockford all'inizio degli anni 2000 e standardizzato come RFC 8259 ed ECMA-404. Rappresenta oggetti, array, stringhe, numeri, booleani e null con una sintassi semplice e leggibile. È il formato predefinito per le API web, i file di configurazione e lo scambio di dati tra app in quasi tutti i linguaggi di programmazione. Non prevede commenti, date o schemi integrati e i file annidati di grandi dimensioni sono difficili da leggere senza un visualizzatore.

Compressione
–
Trasparenza
–
Animazione
–
Introdotto
2001 · Douglas Crockford
Convertitore JSON

XML

Extensible Markup Language

XML è un linguaggio di markup per dati strutturati pubblicato dal W3C nel 1998. Usa tag annidati con attributi e supporta schemi, namespace e validazione, il che lo rende solido per documenti complessi. Sta alla base di feed RSS, SVG, documenti Office, sitemap e di molti scambi di dati aziendali e istituzionali. L'XML è prolisso rispetto a JSON, ma ogni linguaggio di programmazione e molti strumenti per fogli di calcolo sono in grado di leggerlo.

Compressione
–
Trasparenza
–
Animazione
–
Introdotto
1998 · W3C
Convertitore XML

Si converte JSON in XML quando dati moderni devono entrare in un contratto più datato: un endpoint SOAP, un feed prodotti, una rete di fatturazione elettronica o un file di configurazione il cui destinatario è scritto per leggere elementi, non parentesi graffe.

Domande frequenti sulla conversione da JSON a XML

Perché l'XML richiede un solo elemento radice se il JSON inizia con un array?

La specifica XML 1.0 richiede che ogni documento ben formato abbia un solo elemento che contiene tutti gli altri. Un array JSON non ha un contenitore simile, quindi il convertitore ne aggiunge uno, con il nome indicato in Tag radice XML, e inserisce ogni elemento dell'array al suo interno come <row>.

Che fine fanno chiavi JSON come "2024 total" o "unit price"?

Nessuno dei due è un nome di elemento XML valido: i nomi non possono iniziare con una cifra né contenere spazi. Conviene rinominare queste chiavi nel JSON prima della conversione, possibilmente con i nomi esatti dei tag usati dallo schema di destinazione, così l'output non richiede ritocchi.

Come viene scritto in XML un array JSON all'interno di un record?

Come lo stesso elemento ripetuto una volta per ogni voce. Un array tags con tre stringhe diventa tre elementi <tags> consecutivi. Un array vuoto non lascia nulla: è uno dei pochi casi in cui la conversione da JSON a XML perde informazioni.

L'XML supererà la validazione XSD richiesta dal partner?

Solo se la struttura coincide già. Il convertitore scrive una copia fedele e ben formata del JSON, ma non può conoscere l'ordine degli elementi, i namespace o gli attributi richiesti da un partner. Usare l'output come punto di partenza e adattarlo allo schema.

È possibile tornare da XML a JSON?

Usare da XML a JSON. Nel percorso inverso aspettarsi piccole differenze: XML salva ogni valore come testo, quindi un numero o un true nati in JSON possono tornare come stringhe.