Strumento per sviluppatori / 01

Convertitore da XML a JSON

Converti un documento XML in JSON leggibile, gestendo in modo sensato attributi ed elementi ripetuti.

Convertitore da XML a JSON: TOEA legge gli elementi, gli attributi, il testo e il CDATA del documento, quindi li organizza in JSON: agli attributi viene anteposto @, il testo libero diventa #text e i nomi ripetuti degli elementi fratelli diventano un array. Funziona al 100% localmente nel browser, senza caricare file sul server.

Esecuzioni
Nel browser
Costo
Gratuito · senza registrazione
Disponibilità
Pronto all'uso
Strumento XML → JSONElaborazione locale

Funziona interamente nel browser

↥
Incolla XML qui sotto oppure scegli un file

Fino a 5 MB · non viene caricato nulla

Tutto arriva come testo

XML non ha tipi di dati, quindi <count>42</count> diventa "42" e <active>true</active> diventa "true". Converti numeri e booleani nel codice che legge il JSON, dove sai a quali campi corrispondono. Lo stesso vale per gli attributi: @id contiene una stringa anche quando sembra numerico.

Il codice che legge il risultato deve anche gestire gli elementi che si ripetono solo a volte. Un <item> che compare una volta è un oggetto, mentre due elementi formano un array: normalizza con Array.isArray(x) ? x : [x] prima di iterare.

Documenti che non si convertono bene

La conversione è adatta ai dati: configurazioni, risposte API, feed ed esportazioni. È poco adatta alla prosa. In <p>Read <b>this</b> first</p> il testo libero viene unito in un unico valore #text e la parola in grassetto diventa una chiave separata, quindi l'ordine di lettura viene perso. XHTML, DocBook e formati documentali simili vengono gestiti meglio con una libreria XML. Per esaminare la struttura di un documento prima della conversione, indentalo con il formattatore XML.

Come usarlo

  1. Incolla l'XML o scegli un file.
  2. Scegli la larghezza del rientro.
  3. Copia o scarica il JSON.

Privacy e limitazioni

Il testo viene convertito nel browser e non viene mai caricato, un aspetto importante quando il file è una configurazione o un'esportazione che preferisci non affidare a uno sconosciuto. I namespace vengono mantenuti così come sono nei nomi degli elementi, senza essere risolti.

Strumenti correlati

Domande frequenti

Perché gli attributi iniziano con @?

XML separa gli attributi dagli elementi figli; JSON non prevede questa distinzione. Il prefisso @ li mantiene separati, così la conversione può essere invertita senza dover fare supposizioni.

Perché un elemento è diventato un array?

I nomi ripetuti degli elementi fratelli diventano sempre un array, perché è questo il significato della struttura. Un nome che compare una sola volta rimane un valore semplice.

A cosa serve #text?

Un elemento che contiene sia testo sia elementi figli ha bisogno di un posto in cui conservare quel testo libero: questo posto è #text.

Cosa non è supportato?

Le definizioni di entità DTD, la risoluzione dei namespace e le istruzioni di elaborazione oltre alla dichiarazione. I file di configurazione e i payload delle API non li usano.

Strumento gratuito · nel browser esecuzioni · senza account