Convertidor gratuït

XML a Convertidor JSON

Converteix dades o fitxers XML a format JSON a l'instant al teu navegador. Admet sagnat personalitzat i gestiona estructures imbricades.

Seleccioneu el fitxer XML

o arrossega i deixa anar aquí

O

Sobre aquesta eina

XML i JSON són formats d'intercanvi de dades, però provenen de diferents èpoques del web. XML, estandarditzat el 1998, es va dissenyar com un format de marcatge autodescriptiu amb atributs, espais de noms i validació d'esquemes. JSON va sorgir a principis dels anys 2000 com un format més lleuger més adequat per als temps d'execució de JavaScript i les API modernes. La majoria de les API web noves parlen JSON; molts sistemes antics (serveis SOAP, fonts RSS, fitxers de configuració, integracions empresarials) encara produeixen XML. La conversió entre elles és una de les tasques d'interoperabilitat més habituals en el desenvolupament modern.

La conversió no és perfectament sense pèrdues perquè els dos formats tenen un poder expressiu diferent. XML té atributs (que JSON no té de manera nativa), distingeix entre contingut de text i noms d'elements i admet contingut mixt (elements que contenen tant text com elements secundaris). El model d'objecte/matriu senzill de JSON no pot representar directament aquestes característiques, de manera que els convertidors apliquen convencions: els atributs es converteixen en claus amb prefix @, el contingut de text es converteix en una clau #text, etc.

Aquest convertidor analitza XML mitjançant el DOMParser integrat del navegador i recorre l'arbre DOM resultant per produir JSON. Els elements amb el mateix nom d'etiqueta que els germans es recullen en matrius; els atributs entren en claus especials; els espais de noms i les instruccions de processament es conserven quan estan presents. El resultat és un JSON llegible pels humans que torna raonablement a XML.

Per què convertir XML a JSON

El codi d'aplicació més modern és més còmode amb JSON. JavaScript analitza JSON de manera nativa, el mòdul json de Python es troba a la biblioteca estàndard i pràcticament tots els altres llenguatges tenen un suport equivalent de JSON de primera classe. El processament XML requereix la importació de biblioteques addicionals i l'escriptura de més estàndards. Convertir XML entrant a JSON abans del processament és sovint el camí més ràpid des del feed XML extern a l'estructura de dades interna.

Les eines també es basen en JSON. Els embelledors JSON, els validadors, els validadors d'esquemes, els llenguatges de consulta (jq, JSONPath) i els visors són abundants; els equivalents XML són menys i sovint més antics. Treballar en JSON desbloqueja un ecosistema d'eines més ric.

Com utilitzar-la

Enganxeu XML, obteniu JSON.

  1. Enganxeu o carregueu el vostre XML: Enganxeu text XML a l'àrea d'entrada o deixeu anar un fitxer. L'XML ha d'estar ben format; XML mal format produeix un error d'anàlisi en lloc d'una suposició.
  2. Converteix: DOMParser crea un DOM, el convertidor recorre cada element i el JSON es genera mitjançant claus d'atribut (@attr) i claus de contingut de text (#text) quan sigui necessari. Els elements germans amb el mateix nom es converteixen en matrius.
  3. Revisar l'estructura: Inspeccioneu el JSON per confirmar que els atributs, el text i la nidificació s'assignen com s'esperava. Les convencions utilitzades (p. ex., @ per als atributs) són visibles a la sortida.
  4. Descarregar o copiar: Desa com a .json o copia al porta-retalls.

Casos d'ús comuns

Detalls tècnics

DOMParser produeix un DOM XML idèntic al que fa servir el navegador per a les pàgines XHTML. El convertidor recorre aquest DOM de manera recursiva. Per a cada element crea un objecte JSON: els atributs es converteixen en claus amb el prefix @ (per exemple, @id, @class); els elements fills de l'element es recorren a la mateixa estructura; El contingut de text, quan està present al costat dels nens, viu sota una clau #text.

Els elements secundaris repetits amb el mateix nom d'etiqueta es recullen en una matriu JSON. Un sol fill d'un nom donat apareix com a valor d'objecte; diversos fills apareixen com una matriu d'objectes. Aquesta convenció funciona bé a la pràctica, però vol dir que la forma JSON depèn de si els elements apareixen una vegada o diverses vegades, una imperfecció coneguda del mapeig XML a JSON.

Els espais de noms es conserven com a part dels noms dels elements (prefix:localName). Les instruccions de processament i les seccions CDATA es converteixen en contingut de text. Les declaracions XML i els DOCTYPE s'eliminen de la sortida JSON, però no afecten les dades.

Bones pràctiques

Preguntes freqüents

Convertir XML a JSON canvia el contingut?
El contingut es conserva amb la màxima precisió possible. Tanmateix, és possible que algunes característiques específiques de format no tinguin equivalents directes, de manera que es poden produir diferències de format menors.
Per què convertir les dades al format JSON?
JSON és el format de dades estàndard per a les API web i les aplicacions JavaScript. És llegible pels humans, és àmpliament compatible amb els llenguatges de programació i té una sintaxi més senzilla que XML.
El convertidor gestiona estructures XML imbricades o complexes?
Sí. L'eina analitza correctament els objectes imbricats, les matrius i tots els tipus de dades XML estàndard, conservant l'estructura de dades completa a la sortida JSON.
Aquesta conversió és segura i privada?
Sí. Tot el processament es fa localment al vostre navegador. Les vostres dades no surten mai del vostre dispositiu: cap càrrega del servidor, cap processament al núvol, cap recollida de dades.
Es gestionen les seccions CDATA?
Sí. El contingut CDATA es converteix a text sense format a la sortida JSON. L'embolcall CDATA en si no es conserva, però el contingut sí.
Les meves dades s'han penjat a un servidor?
No. DOMParser s'executa al vostre navegador; la conversió es fa completament al vostre dispositiu.
El JSON tornarà a XML?
Sí, si utilitzeu la convenció inversa (l'eina JSON a XML segueix les mateixes regles @attr i #text). El viatge d'anada i tornada conserva l'estructura de l'XML típic; alguns casos extrems (ordre de contingut mixt, instruccions de processament) poden no sobreviure perfectament.
Quina és la mida màxima d'entrada?
Fins a 50 MB. DOMParser està limitat a la memòria pel vostre navegador; Els fitxers XML molt grans poden alentir-se o no poder analitzar-los.