Da XML a JSON
Converta l'XML in dati strutturati senza perdere ciò che portano i tag: gli attributi restano con un prefisso chiaro e i tag ripetuti diventano elenchi. Nell'esempio un catalogo con due libri diventa un elenco con Rayuela, 1963, e Pedro Paramo, 1955. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Vale per qualsiasi XML: un feed di prodotti, un tracciato del gestionale o una fattura elettronica in formato FatturaPA.
Perché un convertitore fatto in fretta perde dati
Se qualcuno scrive un convertitore XML in cinque minuti, di solito gestisce bene il testo di ogni elemento e poi scarta in silenzio tutti gli attributi, perché la maggior parte dei lettori XML li considera note a margine e non dati. Nei documenti reali è un errore che costa caro. Messaggi SOAP, feed RSS, disegni SVG e file di configurazione ereditati da sistemi vecchi di dieci anni tengono spesso sul tag stesso i valori più importanti: un identificativo, un tipo, un codice valuta, un numero di versione. Questo convertitore li conserva, ognuno con un prefisso costante, così un attributo non si confonde mai con un elemento vicino che ha lo stesso nome.
Dove vive ancora l'XML e cosa si ottiene
Il formato che oggi si scambiano quasi tutte le applicazioni web ha vinto quella sfida anni fa, ma l'XML non se n'è mai andato. Fa ancora funzionare servizi SOAP, feed RSS e Atom e l'interno dei documenti Office, quindi prima o poi qualcuno deve portare quei dati in un sistema più nuovo o in un foglio di calcolo. La conversione rispetta l'albero: gli elementi annidati restano annidati e i tag ripetuti formano un elenco invece di sovrascriversi a vicenda. Nell'esempio un catalogo con due libri torna come elenco con Rayuela, 1963, e Pedro Paramo, 1955, ogni titolo e anno sotto il proprio nome. L'errore tipico è appiattire tutto a mano e perdere quale valore apparteneva a quale elemento.
Attributi, elementi e nodi ripetuti
Quando un tag si ripete — pensa alle righe di una fattura — diventa un array, non un elenco confuso di chiavi doppie. Il risultato rispecchia la struttura ad albero del documento, ma in una forma che il codice legge senza fatica.
La fattura elettronica, finalmente leggibile
La fattura elettronica italiana arriva in XML secondo il tracciato FatturaPA: illeggibile a occhio, pieno di tag come CedentePrestatore e DettaglioLinee. Un punto di partenza pulito se devi elaborare le fatture in un programma tuo.
Namespace e prefissi
Gli XML seri usano i namespace, quei prefissi tipo ns: davanti ai tag. Anche gli accenti e i caratteri speciali del documento vengono conservati correttamente, perché il file viene trattato come UTF-8: “Società”, “città” e “€” restano quelli che sono. Così passi il risultato a un programma senza sorprese, con la stessa struttura del documento di partenza ma in una forma finalmente leggibile.
Domande frequenti
Funziona con la fattura elettronica XML (FatturaPA)?
Ricorda che il file firmato .p7m va prima estratto in XML.
È gratis?
Nel browser sì, senza registrazione e senza limiti d’uso.
Il documento resta privato?
Sì: la conversione avviene nel browser, sul tuo dispositivo. L’XML — che spesso contiene dati fiscali — non viene inviato a nessun server.
Che dimensioni può avere il file?
Fino a 25 MB nel browser, più che sufficienti per fatture e feed di prodotti.
Cosa succede quando lo stesso tag compare più volte?
I tag ripetuti diventano un elenco. Nell'esempio il catalogo contiene due elementi libro, quindi il risultato raccoglie un elenco di due libri, Rayuela del 1963 e Pedro Paramo del 1955, nell'ordine in cui comparivano.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/data/xml-to-json \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"xml":"<r><a>1</a></r>"}'const res = await fetch("https://api.kit.forhosting.com/data/xml-to-json", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"xml": "<r><a>1</a></r>"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/xml-to-json",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"xml": "<r><a>1</a></r>"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/xml-to-json", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"xml":"<r><a>1</a></r>"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"xml":"<r><a>1</a></r>"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/xml-to-json", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"xml": "<r><a>1</a></r>"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.xml_to_json",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_mb | 25 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Uno strumento che legge un file XML e ne restituisce il contenuto in JSON, molto più comodo da usare in un’app o in una pagina. Carichi il file e ottieni subito il JSON, nel tuo browser.
Attributi, elementi e nodi ripetuti
L’XML distingue tra elementi (i tag) e attributi (i valori dentro il tag): il KIT li riporta entrambi nel JSON in modo coerente, così non perdi nulla.
La fattura elettronica, finalmente leggibile
Convertito in JSON, il documento diventa una struttura ordinata da cui estrarre partita IVA, imponibile, IVA al 22% e totale.
Namespace e prefissi
Puoi scegliere di mantenerli o di semplificarli, per ottenere un JSON più snello.
Casi di integrazione
Leggere una fattura elettronica
Rossi & Figli S.r.l. riceve la fattura di un fornitore in XML. Convertita in JSON, il gestionale interno ne estrae partita IVA, imponibile e IVA senza aprire il tracciato a mano.
Feed di prodotti
Un feed fornitori arriva in XML con centinaia di articoli. In JSON diventa un elenco pulito da caricare sul catalogo del sito, con prezzi e disponibilità già strutturati.
Tracciati e configurazioni
Uno sviluppatore deve leggere un vecchio tracciato XML di un gestionale. Passato a JSON, lo integra in un’app moderna senza scrivere un parser dedicato.
Domande tecniche
Come gestisce attributi e tag ripetuti?
Gli attributi e gli elementi finiscono entrambi nel JSON in modo coerente; i tag che si ripetono, come le righe di una fattura, diventano un array invece di chiavi duplicate.
Posso usarlo dal telefono?
Sì, dal browser del telefono e senza installare app: carichi l’XML e scarichi il JSON.