Da XML a JSON
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. Vale per qualsiasi XML: un feed di prodotti, un tracciato del gestionale o una fattura elettronica in formato FatturaPA. Carichi il file e ottieni subito il JSON, nel tuo browser.
Esegui gratis nel browser
Funziona nel tuo browser: gratis, senza registrazione, i file non escono dal tuo dispositivo.
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. 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. Convertito in JSON, il documento diventa una struttura ordinata da cui estrarre partita IVA, imponibile, IVA al 22% e totale. 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. Puoi scegliere di mantenerli o di semplificarli, per ottenere un JSON più snello. 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.
Casi d'uso
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 frequenti
Funziona con la fattura elettronica XML (FatturaPA)?
Sì: il tracciato FatturaPA è XML, quindi si converte in JSON e diventa una struttura ordinata da cui leggere partita IVA, imponibile e totale. Ricorda che il file firmato .p7m va prima estratto in XML.
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.
È gratis?
Nel browser sì, senza registrazione e senza limiti d’uso. Via API costa $0.002 a richiesta, prezzo pubblicato, senza abbonamento.
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. Per archivi molto grandi conviene la via API.
Posso usarlo dal telefono?
Sì, dal browser del telefono e senza installare app: carichi l’XML e scarichi il JSON.
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 '{"input":"…"}'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({
"input": "…"
})
});
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={
"input": "…"
},
)
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" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
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
{
"input": "…"
}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. |