Gratis · Rápido · Privado

Validar JSON en JavaScript con JSON.parse y try/catch

En JavaScript, la forma habitual de validar JSON es intentar convertirlo con JSON.parse dentro de un bloque try/catch: si el texto es correcto, obtiene el objeto; si no, el método lanza una excepción que usted captura.

Reproduce la comprobación de JSON.parse sin escribir código

🔒

Muestra la línea, la posición y el motivo de la excepción

Útil para entender por qué falla su bloque try/catch

Procesa el JSON en local, sin subirlo a ningún servidor

Coste
Nivel gratuito
Registro
No requerido
Procesamiento
Según la herramienta
Privacidad
Método indicado
IframeResponsiveAtribución incluida

Añade Validador de JSON a tu sitio web

Coloca Validador de JSON en una entrada, documentación, intranet o portal escolar con un iframe. El procesamiento, la privacidad y los límites son los mismos que en la página completa.

  • Una línea de HTML lista para copiar
  • Responsive: se adapta a cualquier ancho
  • El código no incluye credenciales de API

Código de inserción

<iframe
  src="https://www.fixtools.io/json/json-validator?embed=1&lang=es"
  width="100%"
  height="780"
  frameborder="0"
  style="border:0;border-radius:16px;max-width:900px;"
  title="Validador de JSON by FixTools"
  loading="lazy"
  allow="clipboard-write"
></iframe>

Atribución amable: aparece un pequeño enlace "Powered by FixTools" en el pie del embed.

Cómo se valida JSON en JavaScript de forma correcta

En JavaScript no existe una función que devuelva verdadero o falso para indicar si una cadena es JSON válido. La técnica estándar consiste en aprovechar el método JSON.parse, que intenta convertir el texto en un valor de JavaScript. Si el texto respeta la especificación, el método devuelve el objeto, el arreglo o el valor correspondiente. Si encuentra cualquier error de sintaxis, lanza una excepción del tipo SyntaxError y detiene la conversión. Por eso la validación se envuelve en un bloque try/catch: en el try se llama a JSON.parse y, si todo va bien, se continúa con el resultado; en el catch se captura la excepción y se trata el caso de entrada no válida. Este patrón es la manera fiable y recomendada de comprobar JSON antes de trabajar con él.

Conviene evitar atajos que parecen validar pero no lo hacen. Comprobar si una cadena empieza por una llave o un corchete no garantiza nada, porque el interior puede estar mal formado. Usar expresiones regulares para verificar JSON es frágil y propenso a falsos positivos, ya que el formato admite anidamientos arbitrarios que una expresión regular no puede describir con fiabilidad. Tampoco conviene confiar en que un JSON venga siempre correcto por proceder de una fuente conocida, porque una edición manual, un truncamiento o un cambio en el origen pueden romperlo en cualquier momento. La única comprobación realmente equivalente a lo que hará su aplicación al deserializar es intentar la conversión con JSON.parse y observar si tiene éxito. Esta herramienta hace precisamente eso, de modo que su resultado coincide con el que obtendría en el código.

Cuando JSON.parse falla, la excepción SyntaxError incluye un mensaje que describe el problema y, en muchos motores, la posición dentro de la cadena donde se detectó. Ese mensaje varía según el navegador o el entorno de ejecución, pero siempre apunta al primer punto en el que el texto deja de ajustarse a la especificación. Interpretar esa información a mano puede ser incómodo, sobre todo si la posición se indica como un índice de carácter en una cadena larga. La herramienta le ahorra ese trabajo: ejecuta la conversión, captura el fallo y traduce la posición a una línea y una columna concretas dentro del documento, junto con el motivo. Así entiende de un vistazo por qué su bloque catch se está activando, sin tener que añadir mensajes de depuración ni recorrer la cadena manualmente.

Muchas excepciones al deserializar nacen de diferencias entre la sintaxis de objetos de JavaScript y la de JSON, que son parecidas pero no idénticas. En un objeto literal de JavaScript puede omitir las comillas de las claves, usar comillas simples o dejar una coma final, y el código sigue funcionando. En JSON nada de eso está permitido: las claves y las cadenas exigen comillas dobles, la coma final es un error y no caben comentarios ni valores como undefined. También son inválidos los números con ceros a la izquierda o un punto sin dígitos. Si copia un objeto escrito en código JavaScript y lo trata como JSON, es probable que falle por alguna de estas razones. La herramienta detecta cuál de ellas se ha producido y se lo indica, para que ajuste el texto al estándar.

La ventaja de comprobar el JSON aquí es que obtiene el mismo veredicto que daría JSON.parse sin montar un entorno ni escribir un solo archivo. No necesita abrir la consola del navegador, crear un bloque try/catch de prueba ni añadir registros temporales: pega el texto y la herramienta le dice si su código lanzaría una excepción con esa entrada. Además, todo el proceso ocurre en local, dentro del navegador, por lo que el JSON que está depurando, aunque contenga datos reales de su aplicación, nunca se envía a ningún servidor. Es una forma rápida de aislar si un fallo procede del dato o de la lógica: si la herramienta valida el texto pero su aplicación sigue fallando, el problema no está en el formato del JSON, sino en cómo lo usa después su código.

Cómo usar esta herramienta

💡

Pegue su cadena en el validador integrado y comprobará, sin escribir código, si JSON.parse la aceptaría o lanzaría una excepción.

Cómo Funciona

Guía paso a paso para validar json en javascript con json.parse y try/catch:

  1. 1

    Pegue el JSON que probaría en el código

    Copie la cadena JSON que pasaría a JSON.parse en su aplicación y péguela en la herramienta, o cargue el archivo correspondiente. Así comprueba el mismo dato de entrada que manejaría su código, pero de forma aislada.

  2. 2

    Ejecute la validación

    Pulse validar para que la herramienta intente interpretar el texto igual que lo haría JSON.parse. Si la conversión tiene éxito, el JSON es válido; si no, se captura la excepción y se muestra toda su información relevante.

  3. 3

    Lea el mensaje de error

    Cuando la validación falla, revise la línea, la posición y el motivo. Es la misma clase de información que obtendría en el bloque catch de JavaScript, pero presentada de forma clara y localizada dentro del documento.

  4. 4

    Corrija y confirme

    Ajuste el JSON en el punto señalado, teniendo en cuenta las reglas del formato, y vuelva a validar. Cuando la herramienta lo marque como válido, sabrá que JSON.parse no lanzará una excepción con ese mismo texto en su código.

Casos de uso reales

Situaciones comunes donde este enfoque marca la diferencia:

Entender por qué su try/catch captura un error

Si su bloque catch se activa y no sabe por qué, pegue aquí la misma cadena que pasa a JSON.parse. La herramienta le muestra la línea y el motivo exactos, algo que la excepción por sí sola no siempre deja claro.

Comprobar JSON antes de guardarlo en localStorage

Antes de serializar o recuperar datos de almacenamiento en el navegador, valide la cadena. Confirmará que JSON.parse la aceptará al leerla, y evitará que una entrada corrupta rompa la carga de estado de su aplicación web.

Revisar un objeto copiado desde código JavaScript

Al reutilizar un objeto literal de su código como JSON, es fácil arrastrar comillas simples o una coma final. Pegue el texto y la herramienta señalará esas diferencias con el estándar para que las corrija antes de usarlo.

Consejos profesionales

Obtén mejores resultados con estas sugerencias de expertos:

1

No use eval para validar JSON

Interpretar JSON con eval es un riesgo de seguridad, porque ejecuta cualquier código que contenga la cadena. Use siempre JSON.parse dentro de try/catch, o compruebe el texto aquí, que aplica el mismo criterio sin ejecutar nada del contenido.

2

Recuerde que JSON.parse no valida contra un esquema

Que JSON.parse acepte una cadena solo significa que la sintaxis es correcta, no que los campos sean los que su código espera. Para comprobar la estructura y los tipos, valide además contra un esquema JSON que describa el formato previsto.

3

Aísle el dato antes de depurar la lógica

Cuando su aplicación falle al procesar JSON, valide primero la cadena de entrada aquí. Si resulta válida, descarta el formato como causa y puede centrar la depuración en la lógica que recorre el objeto ya deserializado.

FAQ

Preguntas frecuentes

Llame a JSON.parse con la cadena dentro de un bloque try/catch. Si el texto es válido, obtiene el valor deserializado; si no, el método lanza un SyntaxError que captura en el catch. No hace falta ninguna librería externa, ya que JSON.parse forma parte del propio lenguaje.
No. Solo comprueba la sintaxis del texto JSON, igual que haría JSON.parse, sin ejecutar código del contenido. Además, todo ocurre en local, en su navegador, por lo que el JSON que pega, incluso con datos reales, nunca se sube a ningún servidor ni se registra en ningún lugar.
Porque la sintaxis de objetos de JavaScript es más permisiva que JSON. Comillas simples, claves sin comillas, una coma final o valores como undefined funcionan en código pero son inválidos en JSON. La herramienta detecta esas diferencias y le indica cuál está causando el fallo.
Incluye un mensaje que describe el problema y, según el motor, la posición donde se detectó. El texto exacto varía entre navegadores. La herramienta captura ese fallo y lo traduce a una línea, una posición y un motivo claros dentro del documento, más fáciles de interpretar.
No de forma nativa. El propio lenguaje no ofrece un isValidJSON. La práctica estándar es intentar JSON.parse dentro de try/catch y deducir la validez según se lance o no una excepción. Esta herramienta le da ese mismo veredicto sin que escriba la función.
Sí. Copie el cuerpo de la respuesta y péguelo aquí para confirmar que JSON.parse lo aceptará antes de integrarlo en su código. Así separa un fallo de formato de la respuesta de un posible error en la lógica que la procesa después.
Sí. La herramienta está pensada para analizar documentos extensos con rapidez, y el procesamiento se realiza en local. Como no depende de la red, obtiene el resultado casi al instante, incluso con cadenas que en una llamada real a JSON.parse tardarían en interpretarse.

¿Listo para empezar?

Abre Validador de JSON para revisar sus límites gratuitos y su método de procesamiento.

Abrir Validador de JSON →

Nivel gratuito · Sin cuenta · Límites transparentes