Arrastra y suelta
para subir tu archivo
Conversor de XML a JSON
Convierte archivos XML complejos a JSON al instante
Simplifica el proceso de conversión de datos con nuestro conversor de XML a JSON online, fácil de usar. Tanto si eres desarrollador o analista de datos como si trabajas con distintos formatos de datos, nuestra herramienta te ayuda a convertir datos XML a formato JSON de forma rápida y precisa, para integrarlos, manipularlos y usarlos con más facilidad en aplicaciones modernas.
Vídeo tutorial (en inglés)
Aprende a convertir XML a JSON online con el conversor gratuito de Static.app.
-
Conversión precisa de XML a JSON
Nuestro conversor de XML a JSON transforma con precisión tus datos XML a formato JSON, conservando la estructura, los atributos y el contenido. Así tus datos convertidos quedan listos para usarse en aplicaciones modernas, APIs o procesos de análisis de datos.
-
Compatible con estructuras XML complejas
Tanto si tus datos XML contienen elementos simples como estructuras anidadas complejas, nuestro conversor lo maneja todo. La herramienta procesa con eficiencia atributos, elementos anidados y contenido mixto, y garantiza que el JSON resultante refleje la complejidad del XML original.
-
Procesamiento seguro y privado
Tu privacidad es nuestra prioridad. El conversor de XML a JSON procesa tus datos XML directamente en tu navegador, así que tus archivos no se guardan en ningún servidor. De este modo tus datos siguen siendo confidenciales y seguros durante todo el proceso de conversión.
Cómo usar el conversor de XML a JSON
-
1
Pega o sube tus datos XML: escribe los datos XML directamente en el área de texto del conversor o sube tu archivo XML.
-
2
Pulsa 'Convertir': la herramienta genera al instante el JSON correspondiente.
-
3
Copia o descarga el JSON: cuando termina la conversión, puedes copiar el JSON o descargar el archivo para usarlo de inmediato en tus aplicaciones.
Supported file types
Abre un archivo de tu ordenador, arrastra uno o pega tu XML. El conversor acepta:
La conversión se ejecuta por completo en tu navegador, así que tu XML nunca sale de tu dispositivo. También puedes pegar los datos directamente en lugar de abrir un archivo, y después copiar o descargar el JSON.
¿Quieres convertir otro formato? Static.app tiene una herramienta equivalente:
Cómo convertir XML a JSON en código
El conversor de la parte superior de esta página es la vía más rápida para un archivo puntual. Da formato al resultado, así que además sirve como formateador de XML a JSON. Cuando la misma conversión tiene que ejecutarse dentro de una aplicación, un paso de compilación o un flujo de integración, usa la entrada de tu pila que encontrarás abajo: Python, Java, C#, Node.js, Power Automate, WSO2 o la línea de comandos. Las cuatro primeras son scripts completos, así que añades la única dependencia, lo apuntas a tu archivo y obtienes JSON. Las tres últimas son recetas de plataforma y no bibliotecas.
Python: convertir XML a JSON con xmltodict
Python no tiene conversión de XML a JSON en la biblioteca estándar, así que casi todos los proyectos instalan xmltodict. Asigna cada elemento a una clave de diccionario, lo que deja el resto del trabajo al módulo json integrado. Necesita Python 3.9 o posterior y no tiene dependencias compiladas.
pip install xmltodict
# python3 xml_to_json.py
import json
import xmltodict
with open("data.xml", "r", encoding="utf-8") as f:
doc = xmltodict.parse(f.read())
print(json.dumps(doc, indent=2, ensure_ascii=False))
Los atributos llegan por defecto con un prefijo de arroba. Pasa attr_prefix="" a xmltodict.parse si quieres que parezcan claves normales, y force_list=("item",) si un único elemento repetido debe seguir siendo un array JSON. Los valores siguen siendo cadenas, porque xmltodict no adivina los tipos.
Java: convertir XML a JSON con org.json
En Java, pasar de XML a JSON es cosa de una sola llamada: org.json incluye un ayudante de XML que convierte un documento entero en una línea. Antes, añade la dependencia a tu pom.xml o build.gradle.
Maven: org.json:json:20250107 (o posterior)
import org.json.JSONObject;
import org.json.XML;
import java.nio.file.Files;
import java.nio.file.Path;
public class XmlToJson {
public static void main(String[] args) throws Exception {
String xml = Files.readString(Path.of("data.xml"));
JSONObject json = XML.toJSONObject(xml);
System.out.println(json.toString(2));
}
}
Files.readString necesita Java 11 o posterior. org.json deduce los tipos, así que un elemento con aspecto numérico se convierte en un número JSON; la sobrecarga keepStrings lo desactiva. Si ya usas Jackson, jackson-dataformat-xml es la alternativa: lee el documento con XmlMapper y vuelve a escribirlo con ObjectMapper.
C#: convertir XML a JSON con Newtonsoft.Json
System.Text.Json no tiene lector de XML, así que la forma habitual de convertir XML a JSON en C# sigue siendo Newtonsoft.Json, que incluye un conversor para XmlDocument y XDocument.
dotnet add package Newtonsoft.Json
using System;
using System.Xml;
using Newtonsoft.Json;
var doc = new XmlDocument();
doc.XmlResolver = null; // do not resolve external entities
doc.Load("data.xml");
string json = JsonConvert.SerializeXmlNode(doc, Newtonsoft.Json.Formatting.Indented);
Console.WriteLine(json);
Califica Formatting por completo: System.Xml también declara una enumeración Formatting, así que el nombre sin calificar es ambiguo cuando se importan ambos espacios de nombres. Poner XmlResolver a null mantiene a salvo de XXE la entrada no fiable.
Node.js: convertir XML a JSON con el paquete npm fast-xml-parser
Si buscas en npm "xml to json" salen decenas de paquetes. El que acaban eligiendo la mayoría de los proyectos de Node es fast-xml-parser: es rápido con documentos grandes y te deja decidir cómo se nombran los atributos.
npm install fast-xml-parser
import { readFileSync } from "node:fs";
import { XMLParser } from "fast-xml-parser";
const parser = new XMLParser({
ignoreAttributes: false,
attributeNamePrefix: "",
ignoreDeclaration: true
});
const doc = parser.parse(readFileSync("data.xml", "utf8"));
console.log(JSON.stringify(doc, null, 2));
Sin ignoreDeclaration, la declaración XML se convierte en una clave "?xml" suelta junto a tu elemento raíz. La sintaxis de import necesita "type": "module" en tu package.json. En CommonJS, cambia las dos primeras líneas por const fs = require("node:fs") y const XMLParser = require("fast-xml-parser").XMLParser.
Power Automate: convertir XML a JSON con una expresión
Power Automate no tiene una acción de XML a JSON, así que la conversión vive en una expresión. La función xml() convierte tu cadena en un valor XML, y json() convierte ese valor en un objeto JSON al que las acciones posteriores pueden acceder con notación de punto.
No requiere conector ni licencia premium
Compose (rename it: Compose_XML)
Inputs: <catalog><book><title>Dune</title></book></catalog>
Compose (rename it: Compose_JSON)
Expression: json(xml(outputs('Compose_XML')))
Output of Compose_JSON:
{ "catalog": { "book": { "title": "Dune" } } }
Escribe la expresión sin el signo de arroba inicial; el editor de expresiones lo añade. Los atributos XML llegan como claves con prefijo de arroba, así que haz referencia a ellos con notación de corchetes y no con un punto.
WSO2: convertir XML a JSON con una propiedad messageType
En WSO2, pasar de XML a JSON es un cambio de configuración y no una llamada a una función. Synapse mantiene internamente la carga como XML, así que defines el messageType de salida y el formateador de mensajes JSON la serializa al salir. Añade estas propiedades antes del mediador Respond o Send.
El constructor y el formateador de JSON están activados por defecto en deployment.toml
<inSequence>
<!-- payload arrives as XML, leaves as JSON -->
<property name="messageType" value="application/json"
scope="axis2" type="STRING"/>
<property name="ContentType" value="application/json"
scope="axis2" type="STRING"/>
<respond/>
</inSequence>
Define las dos propiedades. messageType elige el formateador, ContentType establece la cabecera que ve quien llama. Si además necesitas remodelar la carga, ejecuta un mediador PayloadFactory o Data Mapper antes de ellas.
xmlstarlet: convertir XML a JSON con yq en la línea de comandos
xmlstarlet no puede convertir XML a JSON por sí solo: es un conjunto de herramientas XPath sin modo de salida JSON. El patrón fiable es dejar que xmlstarlet valide el documento y lo reduzca a un subárbol, y pasárselo después a yq, que lee ambos formatos.
brew install xmlstarlet yq | apt install xmlstarlet, y después instala yq desde las releases de mikefarah/yq
# 1. Validate, then pull out the single subtree you want
xmlstarlet val -e data.xml
xmlstarlet sel -t -c "/catalog" data.xml > catalog.xml
# 2. yq (mikefarah v4) does the XML to JSON step
yq -p xml -o json catalog.xml > catalog.json
# One-shot version when the whole file already has a single root
yq -p xml -o json data.xml
El yq de los repositorios de Debian y Ubuntu es un proyecto distinto (una envoltura de jq) sin la opción -p xml, así que instala mikefarah/yq desde su página de releases. Limita el paso de xmlstarlet a un único elemento raíz: si seleccionas varios nodos, imprime fragmentos hermanos sin envoltura, y yq los rechaza.
Espera que la forma del JSON cambie de una herramienta a otra. Cada biblioteca nombra los atributos a su manera, fast-xml-parser convierte en números JSON el texto con aspecto numérico donde xmltodict lo deja como cadena, y todas (incluido el conversor de esta página) reducen una única aparición de un elemento repetido a un objeto y no a un array de un solo elemento. Pasa un archivo representativo por el conversor de XML a JSON online de arriba para ver cómo queda la forma de tu documento, y elige después la biblioteca cuyo resultado más se parezca a lo que necesitas.
Cómo se compara el conversor de XML a JSON de Static.app
Static.app convierte XML a JSON en privado en tu navegador y después puede publicar el archivo como sitio web, mientras que FreeFormatter, CodeBeautify y ConvertSimple son conversores puros y sólidos que cada uno hace algunas cosas mejor que nosotros.
| Static.app | FreeFormatter.com | CodeBeautify | ConvertSimple.com | |
|---|---|---|---|---|
| Dónde se procesaFreeFormatter mantiene los datos en RAM transitoria, sin guardarlos; ConvertSimple y Static.app nunca los suben. | En tu navegador | En sus servidores | No indicado | En tu navegador |
| Precio y registroConvertSimple vende un pase ilimitado de 9 USD / 48 horas; la herramienta básica sigue siendo gratuita. | Gratis, sin registro | Gratis, sin registro | Gratis, sin registro | Gratis (pase de pago opcional) |
| Anuncios en la páginaCodeBeautify muestra anuncios; FreeFormatter carga analítica y complementos de terceros, no banners publicitarios. | Sin anuncios | Analítica y complementos | Con anuncios | Sin anuncios |
| Métodos de entradaCodeBeautify gana aquí con la carga desde una URL. | Pegar, abrir archivo, arrastrar y soltar | Pegar, subir archivo | Pegar, URL, subir archivo | Pegar, subir archivo |
| Acciones de salida | Copiar, descargar | Copiar, descargar | Copiar, descargar, guardar online | Copiar, descargar |
| Opciones de conversiónAquí ganan ellos: nuestro conversor no tiene ajustes de sangría ni de minificación. | Solo formato legible | Completas (sangría, prefijos, codificación) | Sangría, minificar, entrada por URL | Sangría, minificar, nombres de nodos |
| Seguridad con XML no fiableStatic.app bloquea las entidades externas y rechaza DOCTYPE en la ruta del servidor; las demás no documentan esto. | Bloquea entidades externas (a salvo de XXE) | No indicado | No indicado | No indicado |
| Publicar como sitio webLos conversores puros se quedan en el archivo; Static.app puede alojarlo online. | Sí (dominio personalizado, SSL gratis) | No | No | No |
| Ideal para | Convertir en privado y alojar después el archivo | Opciones de conversión detalladas | Cargar desde URL y minificar | Conversión privada en el cliente |
Elige FreeFormatter o ConvertSimple si quieres ajustes detallados de sangría y atributos, o CodeBeautify si lo que más te importa es cargar desde una URL y minificar. Elige Static.app si quieres que la conversión se quede en tu navegador, que se bloqueen las entidades externas para que el XML no fiable siga a salvo de XXE, y publicar el JSON como sitio web real en un dominio personalizado con SSL gratis justo después de convertir.
Tus archivos JSON merecen un hosting estático fiable
Preguntas frecuentes
¿Qué es un conversor de XML a JSON?
Un conversor de XML a JSON es una herramienta online que transforma datos XML al formato JSON. JSON es un formato ligero de intercambio de datos muy usado en aplicaciones web modernas y APIs. Esta herramienta facilita convertir archivos XML complejos a JSON, que suele preferirse por su sencillez y su compatibilidad con numerosos lenguajes de programación y herramientas.
¿El conversor de XML a JSON es gratis?
Sí, nuestro conversor de XML a JSON es totalmente gratis. Puedes usarlo desde cualquier dispositivo con conexión a internet, sin costes ocultos ni limitaciones.
¿Tengo que descargar o instalar algo para usar el conversor de XML a JSON?
Nuestro conversor de XML a JSON no requiere descargas ni instalaciones. Es una herramienta totalmente online que funciona en el navegador, así que puedes empezar a convertir tus datos XML a JSON de inmediato sin configurar ningún software.
¿Cómo convierto XML a JSON con el conversor de XML a JSON?
Para convertir XML a JSON, solo tienes que pegar tus datos XML en el área de texto del conversor o subir tu archivo XML. Pulsa el botón "Convertir" y la herramienta generará el JSON correspondiente. Después puedes copiar el JSON o descargar el archivo para usarlo al momento.
¿Qué significa convertir XML a JSON?
Convertir XML a JSON es transformar tus datos XML al formato JSON. Es especialmente útil para integrar datos en aplicaciones web modernas, APIs y herramientas de análisis de datos que usan sobre todo JSON. La conversión simplifica la estructura de los datos y facilita trabajar con ellos en distintos entornos de programación.
¿El conversor de XML a JSON admite estructuras XML complejas?
Sí, el conversor de XML a JSON admite estructuras XML complejas, incluidos elementos anidados, atributos y contenido mixto. La herramienta procesa estos elementos con precisión y los convierte al formato JSON adecuado, conservando la estructura jerárquica y las relaciones entre datos del XML original.
¿Puedo usar el conversor de XML a JSON en dispositivos móviles?
¡Por supuesto! Nuestro conversor de XML a JSON es totalmente adaptable y funciona sin problemas en ordenadores, tabletas y móviles. Puedes convertir tus datos XML a JSON estés donde estés.
¿Mis datos XML están seguros y son privados?
Sí, tus datos XML están seguros y son privados. Nuestro conversor de XML a JSON procesa tus datos directamente en tu navegador, así que no se guardan en ningún servidor. Así tu trabajo se mantiene confidencial y seguro durante todo el proceso de conversión.
¿Qué ventajas tiene convertir XML a JSON?
Convertir XML a JSON ofrece varias ventajas clave: 1) Manipulación de datos más sencilla: JSON es más simple y flexible que XML, lo que facilita manipularlo e integrarlo en aplicaciones modernas. 2) Mejor integración: JSON se usa mucho en APIs, servicios web y formatos modernos de intercambio de datos, por lo que es más fácil trabajar con él en distintas plataformas y entornos de programación. 3) Mayor compatibilidad: JSON es compatible con la mayoría de los lenguajes de programación, lo que permite integrarlo sin problemas en diversas herramientas y sistemas. 4) Estructura de datos simplificada: la ligereza de JSON simplifica la estructura de los datos, reduce la complejidad de XML y hace los datos más manejables.
¿Cómo gestiona el conversor de XML a JSON los atributos y los elementos anidados?
El conversor de XML a JSON gestiona con precisión los atributos XML y los elementos anidados convirtiéndolos en las estructuras JSON correspondientes. Los atributos de XML se convierten normalmente en pares clave-valor dentro del objeto JSON, mientras que los elementos anidados se conservan como objetos o arrays anidados en el resultado JSON. Así se mantienen en el formato JSON la estructura jerárquica y las relaciones del XML original.
¿Puedo aprender sobre formatos de datos con el conversor de XML a JSON?
Sí, usar el conversor de XML a JSON puede ser educativo. Al convertir XML a JSON, ves cómo se transforman las distintas estructuras y elementos entre estos dos formatos. Eso te ayuda a entender las diferencias clave entre XML y JSON y cómo se representan los datos en cada uno.
¿Cómo comparto los datos JSON convertidos?
Después de convertir tus datos XML a JSON, puedes compartir fácilmente el resultado copiándolo y enviándolo a otras personas. Si quieres alojar o compartir tus datos JSON online, plantéate usar Static.app para alojar tus archivos JSON. Static.app ofrece una plataforma sencilla para generar una URL pública para tu archivo JSON, de modo que sea fácil distribuirlo y acceder a él.
¿Qué limitaciones tiene el conversor de XML a JSON?
Aunque el conversor de XML a JSON es una herramienta potente, tiene algunas limitaciones: 1) Centrado en el XML estándar: el conversor está optimizado para estructuras XML estándar y puede que no admita del todo formatos XML no estándar o personalizados. 2) Gestión del contenido mixto complejo: cuando el XML contiene contenido mixto complejo (texto intercalado con elementos), la conversión a JSON puede no reproducir a la perfección la estructura original. 3) Sin validación de datos: el conversor se centra en transformar los datos y no valida que el XML de entrada ni el JSON de salida sean correctos o cumplan esquemas concretos. Para validar, necesitarías otras herramientas pensadas para ello.
¿Cuál es el mejor conversor de XML a JSON gratis y cómo se compara Static.app?
No hay uno único que sea el mejor; depende de lo que necesites. FreeFormatter te da más ajustes de conversión (sangría, prefijos de atributos y codificación), CodeBeautify puede cargar XML desde una URL y minificar el resultado, y ConvertSimple, igual que Static.app, convierte por completo en tu navegador. El conversor de Static.app es gratis, sin registro y sin anuncios, convierte en el lado del cliente, bloquea las entidades externas para que el XML de origen dudoso esté a salvo de XXE y es el único de estos que luego puede publicar tu JSON como sitio web en un dominio personalizado con SSL gratis.
¿El conversor de XML a JSON envía mi archivo a un servidor?
No. Static.app convierte tu XML a JSON directamente en tu navegador, así que los datos no se suben durante la conversión. Es igual que ConvertSimple, que también funciona en el lado del cliente, y distinto de FreeFormatter, que procesa en sus servidores (guarda los datos un momento en memoria y no los almacena). Para mayor seguridad, nuestra herramienta no resuelve entidades externas, que son la base de los ataques XXE, y su alternativa en el servidor también rechaza las declaraciones DOCTYPE.
¿Puedo publicar el JSON convertido como sitio web después de convertirlo?
Sí. Después de convertir XML a JSON, usa el botón Aloja tu JSON para subir el archivo a Static.app y publicarlo como sitio web en un dominio personalizado con SSL gratis. Las webs que solo convierten o formatean, como FreeFormatter, CodeBeautify y ConvertSimple, te permiten copiar o descargar el JSON, pero no pueden alojarlo por ti.
¿Cómo convierto XML a JSON en Python?
Usa xmltodict, la biblioteca habitual para pasar de XML a JSON en Python 3. Instálala con "pip install xmltodict", llama a xmltodict.parse() con el contenido del archivo y a json.dumps() con el resultado, lo que lleva solo unas líneas. Los atributos llegan con un prefijo de arroba, que puedes cambiar con attr_prefix, y force_list te permite mantener como array JSON, en lugar de como objeto, un elemento repetido que aparece una sola vez. Las versiones actuales necesitan Python 3.9 o posterior. Si no puedes añadir una dependencia, xml.etree.ElementTree, de la biblioteca estándar, analizará el documento, pero tendrás que recorrer el árbol y construir el diccionario tú mismo.
¿Cómo convierto XML a JSON en Java?
Añade la dependencia org.json a tu pom.xml o build.gradle y llama a XML.toJSONObject(xmlString), y después a toString(2) sobre el JSONObject devuelto para obtener la salida con sangría. Es una conversión en una sola llamada y sin configuración. Si tu proyecto ya usa Jackson, la alternativa es jackson-dataformat-xml: lee el documento con XmlMapper y vuelve a escribirlo con un ObjectMapper normal. Ten en cuenta que org.json deduce los tipos, así que un elemento que parece numérico se convierte en un número JSON y no en una cadena, salvo que uses la sobrecarga keepStrings.
¿Cómo convierto XML a JSON en C#?
Usa Newtonsoft.Json. Instálalo con "dotnet add package Newtonsoft.Json", carga tu archivo en un XmlDocument o XDocument y llama a JsonConvert.SerializeXmlNode(doc, Newtonsoft.Json.Formatting.Indented). System.Text.Json no tiene lector de XML, así que este sigue siendo el método estándar en .NET. Escribe Formatting con el nombre completo, porque System.Xml declara una enumeración con el mismo nombre y la versión sin calificar es ambigua. Con entradas de origen dudoso, establece XmlResolver a null en el XmlDocument para que nunca se resuelvan entidades externas.
¿Qué paquete de npm convierte XML a JSON?
fast-xml-parser es el que usan la mayoría de los proyectos de Node. Ejecuta "npm install fast-xml-parser", crea una instancia de XMLParser y pásale tu cadena XML. Maneja bien los documentos grandes y te permite controlar el tratamiento de los atributos con ignoreAttributes y attributeNamePrefix. Pasa ignoreDeclaration para que la declaración XML no se convierta en una clave "?xml" suelta. Ten en cuenta que, por defecto, convierte en números JSON el texto que parece numérico. xml2js es la alternativa más antigua y funciona bien, pero su API se basa en callbacks o promesas y es más lenta con archivos grandes.
¿Cómo convierto XML a JSON en Power Automate?
Power Automate no tiene una acción de XML a JSON, así que se hace con una expresión. Pon tu XML en una acción Compose, renómbrala Compose_XML y añade una segunda acción Compose con la expresión json(xml(outputs('Compose_XML'))). La función xml() convierte la cadena en un valor XML y json() convierte ese valor en un objeto JSON al que las acciones posteriores pueden acceder con notación de puntos. No hace falta ningún conector premium ni licencia. Escribe la expresión sin una arroba al principio, porque el editor la añade, y haz referencia a los atributos XML con notación de corchetes, ya que llegan como claves con un prefijo de arroba.
¿Cómo convierto XML a JSON en WSO2?
En WSO2 Micro Integrator, ESB y EI nunca llamas a un conversor. Synapse mantiene internamente la carga útil como XML, así que defines el tipo del mensaje de salida y el formateador de mensajes JSON lo serializa al enviarlo. Añade una propiedad con nombre messageType y valor application/json en el ámbito axis2 antes de tu mediador Respond o Send, y establece ContentType con el mismo valor para que quien llama vea la cabecera correcta. El constructor y el formateador de JSON están activados por defecto en deployment.toml. Si además necesitas remodelar la carga útil, ejecuta un mediador PayloadFactory o Data Mapper antes de esas propiedades.
¿Puede xmlstarlet convertir XML a JSON?
No por sí solo. xmlstarlet es un conjunto de herramientas XPath sin modo de salida JSON, así que el patrón fiable en la línea de comandos es dejar que valide el documento y lo reduzca a un único subárbol, y pasar eso a yq, que lee ambos formatos: ejecuta "xmlstarlet sel -t -c /catalog data.xml > catalog.xml" y después "yq -p xml -o json catalog.xml". Si el archivo ya tiene una única raíz, pasa directamente a yq. Ten en cuenta que el yq empaquetado en los repositorios de Debian y Ubuntu es un proyecto distinto, sin la opción -p xml, así que instala mikefarah/yq desde su página de versiones. Limita el paso de xmlstarlet a un único elemento raíz, porque seleccionar varios nodos imprime fragmentos hermanos sin envoltorio y yq los rechaza.