✅

Validador JSON

Un validador JSON analiza tu texto con un analizador JSON real y señala el primer punto donde se rompe la gramática. Pega aquí {"a": 1, "b": 2,} y la insignia cambia a Inválido con el mensaje «Expected double-quoted property name in JSON at position 16 (line 1 column 17)»: la coma final. Lo válido se reimprime en la salida formateada; el documento de ejemplo pasa de 323 B a 221 B al minificar.

✓ Válido ✗ Inválido
Error:
Sangría:
Claves
Objetos
Arrays
Valores
Profundidad

Incrustar esta herramienta en tu sitio web

× px

                        

💡 Consejo de integración

Copie el código de incrustación y péguelo en el HTML de su sitio web. La versión responsive se adapta automáticamente a todos los tamaños de pantalla.

0 valoraciones
✓

Acerca de Validador JSON

Este validador pasa tu texto por el analizador JSON del propio navegador, así que lo que se acepta aquí lo aceptará un motor JavaScript, un cliente REST o un cargador de configuración. La insignia junto a la etiqueta Entrada JSON alterna entre Válido e Inválido mientras escribes. Cuando falla, la línea roja cita el mensaje del analizador y la posición en caracteres, y añade la línea y la columna correspondientes: lo justo para poner el cursor sobre la coma, la comilla o la llave que rompió el documento.

Cuando el texto se analiza, Validar y formatear lo reimprime en la salida formateada con 2, 4 u 8 espacios de sangría, Minificar quita todos los espacios opcionales dejándolo en una línea, y Ordenar claves reescribe cada objeto con sus claves en orden alfabético, de forma recursiva. El tamaño que aparece junto a cada cuadro es el tamaño real en bytes: el ejemplo integrado ocupa 323 B formateado y 221 B minificado. La franja de estadísticas cuenta claves, objetos, matrices y valores, además de la profundidad máxima: 13 claves, 4 objetos, 1 matriz, 12 valores y profundidad 3 para ese mismo ejemplo. La consulta de ruta JSON recorre una expresión como $.config.theme o $.tools[1] y muestra el valor al que llega, o undefined si la ruta no existe.

La gramática que aplica es la de RFC 8259, por eso se rechaza a propósito lo que más se pega: comentarios, coma final, cadenas con comillas simples, claves sin comillas, NaN e Infinity. Dos documentos pegados uno tras otro (JSON delimitado por saltos de línea) fallan con «Unexpected non-whitespace character after JSON». Conviene conocer dos comportamientos: RFC 8259 dice que los nombres de un objeto DEBERÍAN ser únicos pero no lo prohíbe, así que {"a":1,"a":2} se declara válido y gana el último valor; y los enteros fuera del rango interoperable que da la RFC, de -(2^53)+1 a (2^53)-1, se redondean al doble IEEE 754 más cercano.

Es un validador de sintaxis, no de esquema: no contrasta tu documento con un JSON Schema, una definición OpenAPI ni un esquema Avro, y no repara entradas rotas. Todo se ejecuta en la página, así que lo que pegas no sale del navegador.

Casos de uso

Un desarrollador de backend pega una respuesta de API que su biblioteca cliente rechazó, lee la posición en la línea de error y encuentra la coma final que dejó un paso de plantillas antes de que la carga llegara al analizador.
Una ingeniera de DevOps revisa un archivo de configuración editado a mano antes de un despliegue: la insignia confirma que se analiza, y la profundidad de la franja de estadísticas muestra que el anidamiento sigue siendo el que espera el cargador.
Un redactor técnico que prepara un fragmento de documentación ejecuta Ordenar claves para que todos los objetos de ejemplo aparezcan en el mismo orden alfabético en la página, y copia la salida formateada directamente en la documentación.
Una ingeniera de QA pega una respuesta capturada y escribe $.config.theme en la consulta de ruta JSON para extraer un solo campo de un cuerpo muy anidado, en vez de recorrerlo en las herramientas del navegador.
Un desarrollador front-end que adelgaza un archivo de datos pulsa Minificar y compara las dos cifras de bytes junto a los cuadros para decidir si el ahorro compensa perder un diff legible.

Cómo usar

1

Pega el JSON que quieres comprobar en el cuadro Entrada JSON, o pulsa el botón del portapapeles de la fila de botones para cargar el documento de ejemplo integrado.

2

Observa la insignia junto a la etiqueta Entrada JSON: cambia entre Válido e Inválido en cada pulsación, y la línea roja de abajo nombra el fallo y su posición.

3

Elige 2, 4 u 8 espacios en la fila Sangría y pulsa Validar y formatear para imprimir el documento con sangría en la salida formateada.

4

Pulsa Minificar para dejar el documento en una línea, u Ordenar claves para reescribir cada objeto con las claves en orden alfabético, incluidos los objetos anidados.

5

Lee la franja de estadísticas - claves, objetos, matrices, valores y profundidad máxima - y compara los tamaños en bytes que aparecen junto a los cuadros de entrada y salida.

6

Escribe una expresión como $.config.theme o $.tools[1] en la consulta de ruta JSON para extraer un único valor, y usa el botón de copiar para llevarte la salida.

Consejos Pro

  • La posición del mensaje de error es un desplazamiento en caracteres dentro de lo que pegaste, y la línea y columna que siguen se deducen de ella. Cuenta desde el principio del cuadro, no desde el principio de tu archivo original.
  • Las claves duplicadas no fallan. Pega {"a": 1, "a": 2}: la insignia dice Válido, la salida muestra "a": 2 y la franja cuenta una sola clave, una forma silenciosa de perder datos que un validador de esquema sí detectaría.
  • Los identificadores de más de 15 dígitos cambian. 12345678901234567890 se reimprime como 12345678901234567000 porque el analizador lo guarda como doble. Mantén los identificadores largos como cadenas antes de que lleguen a cualquier herramienta JSON.
  • Ordenar claves es recursivo, así que reordena también los objetos anidados, no solo el nivel superior. Es la forma más rápida de hacer comparables dos versiones de la misma configuración en un diff línea a línea.
  • El botón del portapapeles de la fila de botones carga un documento de ejemplo si solo quieres ver funcionar la herramienta; el botón de la papelera contiguo vacía de golpe la entrada, la salida, las estadísticas y la línea de error.

Solución de problemas

Problema:

La insignia dice Inválido y el mensaje es «Expected double-quoted property name in JSON».

Solución:

A una coma no le sigue nada aprovechable: casi siempre una coma final antes de una llave o un corchete de cierre. Pegar {"a": 1, "b": 2,} indica posición 16, línea 1, columna 17. Borra la última coma: JSON no admite coma final aunque los literales de objeto de JavaScript sí.

Problema:

El mensaje es «Expected property name or '}' in JSON at position 1».

Solución:

La primera clave no es una cadena entre comillas dobles. Tanto {'a': 1} como {a: 1} lo producen en la posición 1. JSON no tiene cadenas con comillas simples ni claves desnudas; pon cada clave y cada valor de texto entre comillas dobles. Un comentario // o /* */ antes de la primera clave da el mismo mensaje.

Problema:

El mensaje es «Unexpected non-whitespace character after JSON».

Solución:

El primer documento terminó y empezó otro. Pegar {"a":1} y {"b":2} en dos líneas indica posición 8, línea 2, columna 1. Eso es JSON delimitado por saltos de línea, un flujo de documentos y no un documento: valida las líneas una a una, o envuélvelas en [ ] separadas por comas.

Problema:

El documento sale válido pero ha desaparecido una clave de la salida.

Solución:

El objeto contenía el mismo nombre dos veces. RFC 8259 dice que los nombres DEBERÍAN ser únicos pero no lo exige, y este analizador se queda con el último: {"a": 1, "a": 2} imprime "a": 2 y la franja cuenta una sola clave. Busca el nombre repetido en el origen; nada en esta página te avisará.

Problema:

Un identificador numérico largo vuelve con otros dígitos al final.

Solución:

Los números se analizan como dobles IEEE 754, así que 12345678901234567890 se reimprime como 12345678901234567000. RFC 8259 solo garantiza interoperabilidad para enteros entre -(2^53)+1 y (2^53)-1. Pon los identificadores largos entre comillas en el origen; ninguna opción de formato de aquí recupera los dígitos perdidos.

Preguntas frecuentes

Es una herramienta que pasa tu texto por un analizador JSON y te dice si cumple la gramática de RFC 8259 y dónde deja de cumplirla. Esta página muestra una insignia Válido o Inválido junto a la entrada, el mensaje del analizador con la posición del primer fallo y, cuando el documento se analiza, una copia reformateada más el recuento de claves, objetos, matrices, valores y profundidad de anidamiento.

Pega el documento en el cuadro Entrada JSON. La validación se ejecuta en cada pulsación, así que la insignia cambia a Válido o Inválido sin pulsar nada. Si es inválido, la línea roja bajo el cuadro nombra el problema y la posición; corrígelo ahí mismo y la insignia cambia. Si es válido, pulsa Validar y formatear para obtener una copia con sangría en la salida formateada.

Un objeto, una matriz, una cadena entre comillas dobles, un número, true, false o null, anidados a cualquier profundidad. Las claves deben ser cadenas entre comillas dobles. No se permite: comentarios, una coma tras el último elemento, comillas simples, claves sin comillas, NaN, Infinity y un segundo documento tras el primero. Cada caso produce aquí un mensaje distinto, así que la línea roja te dice qué regla incumpliste.

RFC 8259 no define ninguna sintaxis de comentario, así que un analizador estricto debe rechazarlos. Pegar {"a": 1} con una línea // nota encima de la clave da «Expected property name or '}' in JSON» señalando el comentario. Los formatos que sí los admiten - JSONC en los ajustes de VS Code, JSON5, tsconfig.json - son superconjuntos, y sus herramientas quitan los comentarios antes de que un analizador estándar vea el texto.

No. Esta página comprueba solo la sintaxis: responde a «¿se analiza?», no a «¿cumple mi contrato?». No verifica propiedades obligatorias, tipos, enumeraciones ni formatos de un JSON Schema, una definición OpenAPI o un esquema Avro. Úsala primero para demostrar que el documento está bien formado y luego ejecuta un validador de esquema: un resultado de esquema sobre una entrada que no se analiza no significa nada.

No, y es intencionado. Adivinar si una coma suelta hay que borrarla o si falta un valor después puede alterar tus datos en silencio. Lo que hace la herramienta es situarte en el carácter exacto: el mensaje da la posición, la línea y la columna, y la validación se repite mientras editas, así que ves la insignia ponerse verde en cuanto desaparece el último fallo.

Es la redacción del analizador del navegador cuando el primer token ya es incorrecto, y te devuelve el texto conflictivo. Pegar {"a": NaN} produce: Unexpected token 'N', "{"a": NaN}" is not valid JSON. NaN e Infinity son literales numéricos de JavaScript que RFC 8259 no contempla; codifícalos como null o como cadena antes de serializar.

Abre el archivo en cualquier editor, selecciona todo y pégalo en el cuadro Entrada JSON: la herramienta no tiene campo de subida, y pegar mantiene el archivo fuera de la red. El tamaño en bytes junto al cuadro confirma que llegó entero; si es menor que el archivo en disco, fue tu editor el que truncó la selección, no la herramienta.

VS Code valida cualquier archivo que reconoce como JSON y subraya los fallos en el editor; su modo JSONC además tolera comentarios en los archivos de ajustes. Notepad++ necesita el complemento JSON Viewer desde Plugins Admin para analizarlo. Ambos trabajan sobre un archivo ya abierto; esta página sirve para la carga que acabas de copiar de un registro, una terminal o la pestaña de red del navegador.

No hay un tope fijo, porque el análisis ocurre en tu propia pestaña y el límite es su memoria. Unos cientos de kilobytes pasan al instante. Los archivos de varios megabytes también se analizan, pero validar en cada pulsación vuelve pesada la escritura: pégalos, lee el resultado y edita la fuente en un editor de verdad en vez de en el cuadro.

Herramientas populares

No hay más herramientas
Explorar todas las herramientas
FreeWebTools AI
Powered by free AI models · Full chat →