Formateador y Validador JSON
Formatea, valida, explora y analiza JSON en tu navegador.
¿Qué es JSON?
JSON es el formato de texto plano que usan la mayoría de las APIs web, los archivos de configuración y los sistemas de logs para intercambiar datos estructurados. Un documento se compone de objetos (pares "clave": valor entre llaves), arrays (listas ordenadas entre corchetes), cadenas entre comillas dobles, números, true, false y null. Esta herramienta comprueba que un documento cumple esas reglas, lo reescribe para leerlo o para transmitirlo de forma compacta y te ayuda a inspeccionarlo, convertirlo y consultarlo.
Cómo usar el formateador y validador JSON
- Pega tu JSON en el cuadro de entrada o pulsa Cargar Ejemplo para empezar con un documento de muestra.
- Pulsa Formatear JSON para reindentarlo con 2 espacios, 4 espacios o tabulaciones, Minificar JSON para eliminar todos los espacios opcionales, o Validar JSON para comprobar la sintaxis sin cambiar nada. Si la entrada no es válida, se muestra el error del analizador de tu navegador para que encuentres el problema.
- Abre Explorar para recorrer el documento como un árbol con búsqueda y copiar la ruta o el valor de cualquier nodo, o Estadísticas para ver el número de objetos, arrays, claves y valores, la profundidad máxima de anidamiento y el tamaño.
- Abre Transformar para convertir el documento a CSV, YAML, XML, interfaces TypeScript o filas separadas por tabulaciones para una hoja de cálculo, o Avanzado para ejecutar consultas JSONPath/JMESPath sencillas, compararlo con un segundo documento JSON u ocultar valores que parecen sensibles.
Notas técnicas
- La validación comprueba solo la sintaxis JSON: no compara tus datos con un esquema. Se acepta como valor de nivel superior cualquier valor JSON válido, incluido un único número, una cadena, true, false o null. Los comentarios, las comas finales y las cadenas entre comillas simples no son JSON válido y se notifican como errores.
- Formatear y Minificar convierten tu JSON en valores de JavaScript y los vuelven a escribir, así que el resultado son datos reserializados, no una copia editada de tu texto. Algunos cambios son solo de escritura: por ejemplo, los números se escriben en su forma más corta, de modo que 1.0 pasa a ser 1 y 1e2 pasa a ser 100. Otros cambian los propios datos: si un objeto repite una clave, solo se conserva el último valor; los números que JavaScript no puede representar con exactitud pueden cambiar, incluidos los enteros mayores que 9007199254740991 y los decimales de alta precisión; y los números demasiado grandes para JavaScript, como 1e400, se convierten en null. Si importan los números exactos o las claves duplicadas, revisa el resultado antes de sustituir tus datos originales.
- Las consultas JSONPath y JMESPath de Avanzado admiten solo un subconjunto limitado: acceso a propiedades (.clave), índices de array ([n]) y comodines ([*] en JSONPath, [] en JMESPath). No se admiten filtros, descenso recursivo (..), slices ni funciones, por lo que las expresiones escritas para otras herramientas pueden no devolver nada o dar otro resultado.
- El Anonimizador de Datos se basa en patrones. Sustituye los valores de texto que son por completo una dirección de correo, un número de teléfono o una dirección IPv4, y los valores de claves cuyo nombre sugiere un secreto, como password, secret, token o api_key. Como solo reconoce patrones, puede pasar por alto datos sensibles —por ejemplo nombres, direcciones postales o un correo dentro de una frase más larga—, así que revisa el resultado anonimizado antes de compartirlo.
- CSV y las filas para hoja de cálculo de la opción Excel convierten un array de objetos en una fila por objeto, o un único objeto en una fila, con una columna por cada clave encontrada. Los objetos anidados se convierten en nombres de columna con puntos, como address.city, y los arrays se escriben en una sola celda como texto JSON. La opción Excel genera actualmente texto separado por tabulaciones para pegar en una hoja de cálculo, no un archivo .xlsx.
Preguntas Frecuentes
¿Puede el formateo o la minificación cambiar mis datos?+
No editan tus datos a propósito, pero los convierten en valores de JavaScript y los vuelven a escribir. Una clave repetida en el mismo objeto conserva solo su último valor, y los números que JavaScript no puede representar con exactitud pueden cambiar: los enteros mayores que 9007199254740991 (como algunos IDs de 64 bits) y los decimales con más dígitos significativos de los que JavaScript conserva se redondean, y los números demasiado grandes para JavaScript, como 1e400, se convierten en null. Si importan los números exactos o las claves duplicadas, revisa el resultado antes de sustituir tus datos originales; si generas tú el JSON, enviar esos números como cadenas evita el problema.
¿Cuál es la diferencia entre formatear y minificar JSON?+
Formatear agrega sangría y saltos de línea para que el JSON sea legible por humanos. Minificar elimina todo espacio innecesario para comprimir el tamaño antes de transferir por red.
¿Por qué mi JSON no es válido?+
Las causas habituales son comentarios (// o /* */), una coma final tras el último elemento de un objeto o array, claves o cadenas entre comillas simples o sin comillas, saltos de línea o comillas dobles sin escapar dentro de una cadena, y valores que JSON no define, como undefined o NaN. El panel de error muestra el mensaje del analizador de tu navegador; su redacción, y la precisión con la que señala el problema, varían de un navegador a otro.
¿Esta herramienta envía mis datos a un servidor?+
No. Todo el formateo, minificación y validación de JSON se ejecuta 100% localmente en tu navegador web. Ningún dato se transmite por la red.
¿JSON distingue entre mayúsculas y minúsculas?+
Sí. Las claves y valores literales en JSON distinguen mayúsculas de minúsculas. Por ejemplo, true, false y null deben estar en minúsculas.
