§

Input

Modalità
§

Output

I team italiani collegano XML e JSON ogni giorno, di solito perché due metà di uno stack non concordano sul formato. Il Ministero della Salute pubblica le risorse HL7 FHIR sia in XML sia in JSON in conformità con le normative europee. I servizi SOAP delle banche italiane come Intesa Sanpaolo e UniCredit restituiscono ancora envelope XML che i front-end React vogliono come JSON. Assicuratori come Generali e Allianz distribuiscono la stessa forma. Lato dati, i corpi di AWS SNS e SQS, i manifesti di spedizione e gli archivi delle Camere di Commercio arrivano come XML che gli ingegneri riformattano in JSON prima che atterri in Snowflake o BigQuery. La soluzione è la stessa in ogni caso: un convertitore locale e veloce che puoi rieseguire su un nuovo payload senza inviarlo da nessuna parte.

Cos'è la conversione XML ↔ JSON?

XML (Extensible Markup Language) è un formato di testo basato su tag per dati gerarchici. Lo vedrai nei web service SOAP, nei feed RSS e Atom, nei record sanitari HL7 FHIR, nei file sitemap.xml e nei file di configurazione distribuiti con Maven, Spring e Android Gradle. JSON (JavaScript Object Notation, definito da RFC 8259) descrive lo stesso tipo di dati annidati, ma con parentesi graffe e array invece di tag di apertura e chiusura. JSON è quello che parla quasi ogni REST API oggi, ed è la forma di valore nativa di ogni runtime del browser. Convertire tra i due formati è uno di quei lavori che sembra banale finché non ti scontri con attributi, contenuto misto, figli ripetuti e CDATA. Una regex personalizzata è la risposta sbagliata; un parser reale è quella giusta. Questo strumento include un parser reale (fast-xml-parser) e lo esegue nel tuo browser, così puoi incollare un envelope XML restituito da un servizio SOAP legacy e vederlo diventare un oggetto JSON che puoi inserire direttamente in uno store Redux, oppure prendere un payload JSON che hai assemblato in un client REST e trasformarlo nella forma XML che un endpoint enterprise si aspetta ancora.

Come funziona la mappatura XML ↔ JSON?

Ogni conversione viene eseguita localmente nel tuo browser usando la libreria fast-xml-parser in bundle (MIT, versione 4.x). Le regole di mappatura di alto livello sono:

  1. Elemento in chiave: ogni nome di elemento XML diventa una chiave dell'oggetto JSON. <user><name>Alice</name></user> si mappa in {"user":{"name":"Alice"}}.
  2. Attributo in chiave prefissata: un attributo viene memorizzato sotto una chiave formata anteponendo il prefisso scelto. Con prefisso @, <user id="1"> produce {"user":{"@id":"1"}}.
  3. Contenuto testuale in chiave nodo testo: quando un elemento ha sia attributi sia testo, il testo finisce sotto la chiave nodo testo scelta. <price currency="USD">9.99</price> con chiave #text produce {"price":{"@currency":"USD","#text":"9.99"}}.
  4. Figli ripetuti in array: quando Forza array per tag figli ripetuti è attivo, più elementi fratelli con lo stesso nome vengono compressi in un array JSON. <items><item>A</item><item>B</item></items> diventa {"items":{"item":["A","B"]}}.
  5. Sezioni CDATA: il testo grezzo all'interno di <![CDATA[…]]> viene preservato sotto la chiave #cdata in modo che le parentesi angolari e le e commerciali non vengano ri-escapate durante il round-trip.
  6. Da JSON a XML inverte la mappatura: le chiavi degli oggetti diventano elementi, le chiavi prefissate diventano attributi e gli array si espandono in elementi fratelli ripetuti.

Perché convertire XML e JSON con questo strumento?

  • I tuoi dati rimangono sulla tua macchina. Ogni analisi e ogni costruzione viene eseguita nel contesto JavaScript di questa pagina. Bundle FHIR di pazienti, envelope SOAP di autenticazione, file di configurazione proprietari, esportazioni di fatturazione — nulla tocca i nostri server, perché non c'è nessun passaggio di upload nel codice. Apri il pannello di rete e guarda.
  • SOAP legacy in un front-end REST-first è la richiesta più comune che riceviamo. Una banca o un assicuratore espone un endpoint SOAP che non verrà dismesso per anni; l'app React o Vue che lo chiama non vuole imparare XML. Incolla l'envelope, ottieni il JSON con attributi prefissati e namespace preservati, inserisci i contenuti del Body nel tuo state store.
  • Anche i consumatori RSS, Atom e sitemap ne beneficiano. Una directory di podcast, un aggregatore di notizie o una dashboard interna che consuma sitemap.xml può evitare di scrivere completamente un parser XML. Converti il feed una volta, lavora con l'array JSON e il tuo codice client rimane nel linguaggio che già parla.
  • L'esportazione della configurazione completa il quadro. Maven, Spring, Android Gradle e i vecchi build Ant emettono tutti XML; gli strumenti cloud-native dall'altra parte (Terraform, Ansible, GitHub Actions, cloud-init) leggono JSON o YAML. Converti nel browser invece di eseguire uno script Python con una dipendenza di terze parti, particolarmente utile in ambienti air-gapped dove incollare in un servizio web sconosciuto non è un'opzione.

Quali sono le applicazioni comuni della conversione XML ↔ JSON?

Il collegamento di XML e JSON compare nell'ingegneria dell'integrazione, negli strumenti API e nell'ingegneria dei dati. Alcuni pattern dominano il carico di lavoro:

  • Bridging da SOAP a REST: estrarre il payload Body da un envelope SOAP restituito da un'API bancaria o assicurativa legacy e convertirlo in JSON in modo che un front-end React o Vue possa consumarlo senza un livello proxy lato server.
  • Record sanitari FHIR: convertire i bundle XML HL7 FHIR (il formato richiesto da HHS/ONC e NHS Digital per lo scambio di dati clinici) in JSON per il caricamento in una raccolta MongoDB Atlas o in una colonna JSONB PostgreSQL dove gli analisti possono interrogarli.
  • Elaborazione di sitemap e feed: trasformare un sitemap.xml o un feed RSS/Atom in un array JSON in modo che un indicizzatore personalizzato, un bot Slack o un widget dashboard possa iterare le voci senza includere un parser XML come dipendenza.

Come appare un round-trip XML ↔ JSON?

Prendi un piccolo esempio. Incolla <user id="1"><name>Alice</name></user> nell'input, imposta il prefisso degli attributi su @, lascia la modalità su XML in JSON e premi Converti. L'output è {"user":{"@id":"1","name":"Alice"}}. Cambia la modalità in JSON in XML, incolla di nuovo quel JSON, imposta l'indentazione a 2 spazi e premi di nuovo Converti. Otterrai <user id="1">\n <name>Alice</name>\n</user>, strutturalmente identico all'originale. L'unica cosa non garantita nel round-trip è l'ordine degli attributi, perché le chiavi degli oggetti JSON non sono ordinate per specifica.

Questo convertitore XML ↔ JSON include fast-xml-parser@4 in bundle alla stessa origine, gestisce attributi, CDATA, tag figli ripetuti e prefissi di namespace, e continua a funzionare offline una volta caricata la pagina. Nessun passaggio di upload, nessun proxy CDN, nessun beacon di analytics, nessuna telemetria di alcun tipo. Ogni byte di input e output rimane nel tuo browser, che è esattamente quello che vuoi quando il payload è un bundle FHIR di pazienti, un envelope SOAP di autenticazione o qualsiasi altra forma di dati che nessuno fuori dal tuo team dovrebbe mai vedere.