Qué hace
Comprueba un documento JSON en cada pulsación de tecla y clava exactamente dónde se rompe. Una insignia alterna entre JSON válido e JSON inválido mientras escribes. Cuando el documento es válido, un panel de cuatro celdas informa de su tamaño en bytes (UTF-8), su tipo de nivel superior, su recuento de claves o elementos, y su profundidad máxima de anidamiento. Cuando es inválido, el error nombra la línea y la columna, y un segundo panel cita la línea infractora de tu entrada. Todo se ejecuta en local en tu navegador; nada de lo que pegas se envía a ninguna parte.
Cómo usarlo
- Pega o escribe JSON en Entrada JSON. Pulsa Ejemplo para un documento de demostración, Limpiar para vaciar el cuadro.
- Lee la insignia: JSON válido (verde) o JSON inválido (rojo).
- Si es válido, lee el panel de estadísticas:
- bytes — el tamaño UTF-8 del documento, no su recuento de caracteres.
- type — uno de array, object, string, number, boolean, null.
- keys (objetos) o items (arrays) — solo el recuento de nivel superior.
- depth — anidamiento máximo; el nivel superior cuenta como 1.
- Si es inválido, lee
Line X, Column Y: <reason>, y luego la línea citada debajo. - Copiar entrada duplica tu texto; Copiar enlace para compartir lo codifica en la URL (
?j=...).
Ejemplos
{"name":"CosmoDev","free":true,"tools":["json","base64"]}
Resultado: JSON válido, 57 bytes, type object, 3 keys, depth 3. Las cadenas dentro de tools están dos niveles por debajo de la raíz, así que la profundidad es 3.
Un escalar es un documento JSON completo:
| Entrada | Veredicto | Estadísticas |
|---|---|---|
123 |
JSON válido | 3 bytes, type number, depth 1 |
true |
JSON válido | 4 bytes, type boolean, depth 1 |
null |
JSON válido | 4 bytes, type null, depth 1 |
Un error clavado en su sitio:
{"a": 1}
extra
Resultado: Line 2, Column 1 con el motivo, y el panel de abajo cita extra.
Cómo funciona la validación de JSON
Un analizador JSON lee el documento una vez, de izquierda a derecha, y se detiene en el primer carácter que no puede aparecer legalmente donde aparece. La herramienta luego mapea el desplazamiento de ese carácter a una posición: cuenta los saltos de línea previos al desplazamiento para la línea, y los caracteres desde el último salto de línea para la columna. Ambas son basadas en 1, así que Line 2, Column 1 significa el comienzo mismo de la segunda línea. El panel citado imprime esa línea de tu entrada, así que el extracto siempre proviene de tu documento, nunca de una plantilla genérica.
Cuatro errores causan la mayoría del JSON inválido en la práctica:
| Error | Ejemplo | Por qué falla |
|---|---|---|
| Coma final | {"a":1,} |
tras una coma el analizador espera una clave, y } no lo es |
| Comillas simples | {'a':1} |
las cadenas y las claves deben usar comillas dobles |
| Clave sin entrecomillar | {a:1} |
las claves son cadenas, y las cadenas van entrecomilladas |
| Comentario | {"a":1} //x |
JSON no define comentarios en absoluto |
Ninguno de estos es cuestión de estilo. La gramática JSON (RFC 8259) permite exactamente una grafía para cada caso, y el analizador la aplica. Esa severidad es el punto: un documento que valida aquí se analiza idénticamente en todo analizador conforme, en todo lenguaje.
Buen saber
- Solo el primer error: el analizador se detiene en el primer problema. Arréglalo, re-valida, y el siguiente sale a la luz.
- Diferencias de motor: cuando el motor subyacente no informa de posición, el veredicto sigue mostrando el mensaje en crudo.
- Compartible: tu entrada se codifica en la URL (
?j=...), así que un enlace reproduce la vista exacta. - Privado: seguro para configuraciones, credenciales y cargas de API.
- Herramientas relacionadas: JSON Formatter, JSON Minify, JSON ↔ CSV Converter.