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í
Converteix dades o fitxers XML a format JSON a l'instant al teu navegador. Admet sagnat personalitzat i gestiona estructures imbricades.
o arrossega i deixa anar aquí
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.
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.
Enganxeu XML, obteniu JSON.
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.