Corregir problemas comunes de texto JSON

Pega texto similar a JSON para aplicar un conjunto fijo de reglas y leer cada cambio aplicado. La reparación no ejecuta la entrada, no se sube nada y, si el texto sigue sin analizarse, el error del analizador sustituye a cualquier suposición.

Se ejecuta localmente en tu navegador
El reparador nunca evalúa código. Solo aplica transformaciones limitadas y revisables en este navegador.
Entrada JSON no válida o similar

La reparación segura es deliberadamente limitada

Corrige comentarios, comas finales, comillas simples, claves sin comillas, comillas tipográficas y literales comunes. Nunca ejecuta JavaScript, inventa datos ni oculta un error no reparado.

Cómo reparar texto similar a JSON

Pega texto similar a JSON y la página aplicará un conjunto fijo y ordenado de reglas — comentarios, comas finales, comillas simples, claves sin comillas, comillas tipográficas, True/False/None y números no finitos — indicando cada cambio realizado. Nada se repara por suposición: si el resultado sigue sin poder analizarse, la ejecución falla en lugar de devolver un documento verosímil.

Toda la reparación es una transformación de texto seguida de un JSON.parse estricto, así que la entrada nunca se ejecuta y la página no envía ninguna petición mientras trabajas. El contenido de las cadenas no se toca: una URL http://, un marcador /* */ o un apóstrofo tipográfico dentro de un valor entrecomillado sobreviven a la ejecución.

  1. Pega la entrada en el panel izquierdo. Las reglas solo se ejecutan al pulsar Reparar JSON.
  2. Pulsa Reparar JSON. Si la entrada ya es válida, se indica y se devuelve con sangría de dos espacios; si no, cada regla aplicada aparece en Correcciones aplicadas en el orden en que se ejecutó.
  3. Lee la lista de correcciones y compara la salida con tu intención: la sustitución de literales (True por true, NaN por null) es la regla que cambia valores a propósito.
  4. Pulsa Copiar para llevarte el JSON reparado; tras un fallo, el estado avisa de que el texto copiado sigue sin ser válido. Limpiar vacía ambos paneles y la lista de correcciones.

Qué cambia el reparador y qué no

Reglas que se ejecutan, en orden

La eliminación del BOM, la normalización de comillas tipográficas, la eliminación de comentarios, la conversión de comillas simples, el entrecomillado de claves, la sustitución de literales y la eliminación de comas finales se ejecutan en ese orden fijo y solo fuera de las cadenas entrecomilladas. Los comentarios cubren // y /* */ de JavaScript y también líneas # estilo Python; las claves pueden empezar por letra, _ o $ y contener caracteres no ASCII como los japoneses; las comas finales repetidas como [1,,] se eliminan hasta dejar el cierre limpio.

Como las reglas se saltan el contenido de las cadenas, los marcadores dentro de los datos sobreviven: http://x, /* keep */ o #fff escritos dentro de una cadena entrecomillada salen intactos, y un apóstrofo tipográfico en un valor sigue siendo tipográfico. Las comillas tipográficas se convierten solo cuando hacen de delimitadores de una clave o una cadena.

Lo que no intenta adivinar

Los valores ausentes y los archivos truncados no se reparan. Entradas como {"a": } (sin valor), {"a": [1, 2 (matriz sin cerrar), {a: .5} (punto decimal inicial) o {a: 0x1F} (número hexadecimal) terminan con el error del analizador y el texto transformado parcialmente a la vista para revisarlo: ese panel no es un resultado, y Copiar lo dice.

NaN, Infinity y -Infinity se convierten en null, porque JSON no puede representar números no finitos, y True/False/None pasan a true/false/null. Revisa esas sustituciones antes de entregar el documento a un consumidor que espere un número o un booleano.

Dónde sigue haciendo falta revisar

Un estado en verde solo demuestra que el texto ya se analiza; no demuestra que los datos sean los que querías. Las claves duplicadas conservan el último valor, cada reescritura queda registrada solo en la lista de correcciones y la salida siempre se reindenta con dos espacios: compárala con el original antes de sobrescribir una configuración o un fixture.

Todo ocurre en esta pestaña: la página no hace ninguna petición mientras reparas y no se guarda ninguna copia de la entrada. Conserva el texto original hasta terminar la comparación y usa Limpiar para quitar la copia de trabajo de la página.

Herramientas recientes: