Cómo usar el formateador de JSON
- Pega tu JSON en el cuadro de entrada o escríbelo directamente.
- Elige un estilo de sangría: 2 espacios, 4 espacios o tabulaciones.
- Haz clic en Formatear para darle un formato legible, o en Minificar para eliminar todos los espacios en blanco opcionales.
- Si la entrada no es válida, el validador muestra el mensaje de error junto con la línea y la columna en las que falló el análisis.
- Si quieres, activa Ordenar claves para ordenar alfabéticamente las claves de los objetos, o convierte el resultado a YAML o CSV.
- Copia el resultado y pégalo donde lo necesites.
Todo se ejecuta en tu navegador: tu JSON nunca se sube a un servidor ni se guarda, así que puedes formatear sin riesgo respuestas de API, archivos de configuración y registros que contengan datos privados.
¿Qué es JSON y por qué formatearlo?
JSON (JavaScript Object Notation) es un formato de datos ligero y basado en texto, estandarizado en RFC 8259 y ECMA-404. Se compone de solo seis tipos de valor: objetos ({}), arrays ([]), cadenas, números, los booleanos true y false, y null. Por su sencillez lo usan casi todas las API REST, muchos archivos de configuración e infinidad de flujos de registros.
A las máquinas no les importan los espacios en blanco, así que el JSON que se envía por la red suele ir minificado en una sola línea. Es eficiente, pero casi imposible de leer para una persona. Al formatearlo se añaden saltos de línea y una sangría uniforme para que veas el anidamiento de un vistazo, detectes un campo que falta y compares dos documentos en un diff. Minificar hace lo contrario y resulta útil cuando quieres incrustar JSON en una petición o reducir el tamaño de la carga.
Errores comunes de JSON y cómo corregirlos
JSON es más estricto que los literales de objeto de JavaScript. Estos son los errores que el validador detecta con más frecuencia:
| Problema | No válido | Válido |
|---|---|---|
| Coma final | [1, 2, 3,] | [1, 2, 3] |
| Comillas simples | {'name': 'Ada'} | {"name": "Ada"} |
| Clave sin comillas | {name: "Ada"} | {"name": "Ada"} |
| Comentarios | // note o /* note */ | Elimínalos o usa un campo "_comment" |
| Valores que no son JSON | undefined, NaN, Infinity | null o una cadena |
| Ceros a la izquierda | {"id": 007} | {"id": 7} o "007" |
Un fragmento roto típico copiado de código JavaScript tiene este aspecto:
{
name: 'Ada Lovelace',
born: 1815, // year
languages: ['English', 'French',],
}
El JSON corregido pone entre comillas dobles todas las claves y cadenas, quita el comentario y elimina las dos comas finales:
{
"name": "Ada Lovelace",
"born": 1815,
"languages": ["English", "French"]
}
Otras causas frecuentes son las comillas dobles sin escapar o los saltos de línea literales dentro de las cadenas (usa \" y \n), y un carácter suelto después del corchete o la llave de cierre. Cuando la posición indicada parezca incorrecta, revisa la línea justo anterior: una coma que falta normalmente solo se detecta cuando el analizador llega al siguiente valor.
Consejos y buenas prácticas
- Elige una sangría y mantenla. Dos espacios es la convención más habitual en los proyectos de JavaScript; cuatro espacios es habitual en las herramientas de Python. La coherencia importa más que la elección.
- Ordena las claves antes de comparar. Los objetos JSON no tienen orden, así que dos documentos equivalentes pueden parecer distintos. Ordenar las claves hace que los diffs del control de versiones y las comparaciones sean mucho más limpios.
- Cuidado con los números muy grandes. JavaScript almacena los números como coma flotante de 64 bits, así que los enteros mayores de 9.007.199.254.740.991 (253 − 1) pueden perder precisión al analizarse en un navegador. Envía los identificadores grandes como cadenas.
- Usa UTF-8. RFC 8259 exige UTF-8 para el JSON que se intercambia entre sistemas.
- Convierte cuando te sea útil. CSV encaja con un array plano de objetos que quieras abrir en una hoja de cálculo; YAML es más fácil de editar a mano. Para convertir en ambos sentidos, prueba el conversor JSON ↔ YAML o el conversor CSV ↔ JSON.
Preguntas frecuentes
¿JSON admite comentarios?
No. Ni RFC 8259 ni ECMA-404 permiten comentarios. Algunas herramientas aceptan formatos ampliados como JSONC o JSON5, pero un analizador estándar los rechazará. Quita los comentarios antes de validar o pasa las notas a un campo normal.
¿Por qué mi JSON no es válido si funciona en JavaScript?
Los literales de objeto de JavaScript admiten comillas simples, claves sin comillas, comas finales, comentarios y valores como undefined. JSON no admite ninguno de ellos. En el código, usa JSON.stringify() para generar JSON válido en lugar de escribirlo a mano.
¿Formatear cambia mis datos?
Formatear y minificar solo cambian los espacios en blanco entre los tokens; las claves, los valores y el orden de los arrays se mantienen. Ordenar las claves cambia el orden de los miembros de los objetos, lo que no altera el significado porque los objetos JSON no tienen orden.
¿Qué diferencia hay entre formatear y validar?
Validar comprueba que el texto sea JSON sintácticamente correcto. Formatear vuelve a escribir un JSON válido con una sangría legible. El formateador valida primero, así que no puedes formatear un documento que no se pueda analizar.
¿Puedo convertir JSON anidado a CSV?
CSV es una tabla plana, así que funciona mejor con un array de objetos que comparten las mismas claves. Los objetos y arrays anidados no tienen un equivalente directo en CSV y normalmente se aplanan o se serializan en una sola celda.
Actualizado