Reparar JSON

Herramienta online gratuita para reparar JSON. Detecta y corrige automáticamente comas finales, comillas simples, claves sin comillas, corchetes sin cerrar, comentarios y envolturas Markdown. Diseñada para limpieza de salida IA y recuperación de JSON truncado. Procesamiento 100% local en el navegador.

Relacionado

¿Qué es Reparar JSON (JSON Repair)?

Reparar JSON (JSON Repair) es el proceso de tomar un texto JSON no estándar que un parser JSON estricto no puede consumir por errores de sintaxis, y restaurarlo automáticamente a una cadena JSON válida conforme a RFC 8259. A diferencia del Formateador JSON (Beautify), Reparar JSON no aborda diferencias de formato sino errores estructurales: comas finales, comillas simples, comillas faltantes, corchetes sin cerrar, envolturas Markdown, comentarios — todos hacen que JSON.parse() lance SyntaxError, aunque son extremadamente comunes en el desarrollo real.

Las fuentes de JSON "no estándar" en proyectos reales están muy concentradas: ① Al copiar de LLMs como ChatGPT / Claude / Gemini, la salida suele estar envuelta en bloques de código Markdown (```json ... ```) o acompañada de texto explicativo; ② Copiar desde console.log() de un objeto JavaScript puede incluir comas finales y comillas simples; ③ Los archivos de configuración suelen usar la sintaxis extendida JSON5 / JSONC (que permite comentarios, claves sin comillas, cadenas multilínea, etc.); ④ Las respuestas en streaming o los logs truncados pueden romper el JSON a mitad de flujo, faltando el `}` o `"` de cierre. Una herramienta de Reparar JSON escanea el texto, identifica estos problemas típicos y restaura el contenido a JSON estándar con un principio de "mínima intrusión" preservando al máximo la semántica original.

A nivel de implementación, Reparar JSON se compone típicamente de dos etapas: ① Análisis tolerante (tolerant parse) — usar un escáner basado en máquina de estados en lugar de expresiones regulares para procesar el flujo de caracteres paso a paso, distinguiendo los caracteres de sintaxis "dentro de cadenas" de "fuera de cadenas"; ② Salida canónica (canonical output) — regenerar el resultado con `JSON.parse` + `JSON.stringify`, asegurando que la salida sea 100% válida para cualquier parser estricto aguas abajo. La herramienta de Reparar JSON de GeekFormat completa todo el flujo de reparación localmente en el navegador, sin enviar el contenido original a ningún servidor, apta para procesar respuestas API sensibles, archivos de configuración internos y salidas de modelos IA.

Casos de uso

  • Limpieza de salida IA/LLM: convierte con un clic JSON de ChatGPT/Claude envuelto en Markdown, con texto explicativo y comas finales a JSON estándar
  • Depuración y resolución de problemas de interfaz: cuando las respuestas API se truncan por gateway o problemas de red, completa rápidamente corchetes y cadenas para localizar la estructura de datos original
  • Literales de objeto JavaScript copiados de console: solución única para comillas simples, comas finales y claves sin comillas
  • Limpieza de archivos de configuración: elimina comentarios de JSON5/JSONC para obtener JSON estándar, listo para consumo unificado aguas abajo
  • Reparación de datos de log y portapapeles: estandariza rápidamente fragmentos JSON que contienen comentarios, espacios especiales o truncamiento
  • Migración de datos y preprocesamiento de scripts: añade un paso de reparación en el pipeline de migración de datos para evitar que unos pocos JSONs inválidos bloqueen un lote ETL completo

Cómo Usar

  1. Pega el contenido JSON con errores, envuelto en Markdown o truncado en la caja de entrada izquierda, o haz clic en "Ejemplo" para cargar un JSON roto típico, o sube un archivo .json/.txt
  2. La herramienta detecta y repara automáticamente problemas de sintaxis comunes; el área de salida derecha muestra el JSON estándar formateado y el conteo de cada clase de problema reparado
  3. Si quedan mensajes rojos de error, puedes editar manualmente la entrada y volver a disparar la reparación (Mac: ⌘+Shift+R, Windows: Ctrl+Shift+R)
  4. Tras confirmar que la estructura es correcta, haz clic en "Copiar" para poner el resultado reparado en el portapapeles, o haz clic en "Descargar" para guardar como repaired.json para más formateo, validación, etc.

Características

  • Cubre 7 errores de sintaxis comunes: comas finales, comillas simples, claves sin comillas, cadenas sin cerrar, comentarios, corchetes faltantes, envolturas de bloque de código Markdown
  • Optimizado para limpieza de salida IA: elimina automáticamente envolturas ```json y texto explicativo circundante; reconoce salidas típicas de ChatGPT, Claude, Gemini y otros LLMs
  • Compatible con JSON5/JSONC: parsea sintaxis extendida incluyendo comentarios, comillas flexibles y espacios especiales (ej. caracteres Unicode invisibles)
  • Completado inteligente de JSON truncado: maneja respuestas API truncadas y llaves de cierre faltantes completando automáticamente los corchetes y comillas que faltan
  • Visualización de problemas reparados: auto-estadísticas y muestra el conteo de cada clase de problema reparado para fácil auditoría y revisión humana
  • Procesamiento local para privacidad: análisis, reparación y formateo ocurren localmente en el navegador, no se envía entrada a ningún servidor
  • Conexión fluida con formateo: el JSON estándar reparado puede pasar directamente a Formatear JSON, Validación Schema, o generador de código como siguientes pasos
  • Carga de archivos y ejemplos: soporta subir archivos .json/.txt o hacer clic para cargar un ejemplo para verificación rápida del efecto de reparación

Ejemplos de Código

Reparación programática con la librería jsonrepair de JavaScript

javascript
// npm install jsonrepair
import { jsonrepair } from 'jsonrepair';

const broken = `{
  name: 'Alice',
  age: 30,
  tags: ['dev', 'writer',], // comma final + comentario
}`;

try {
  const fixed = jsonrepair(broken);
  const obj = JSON.parse(fixed);
  console.log(obj);
  // => { name: 'Alice', age: 30, tags: ['dev', 'writer'] }
} catch (err) {
  console.error('Aún no se puede reparar:', err.message);
}

Reparación programática con la librería jsonrepair de Python

python
# pip install jsonrepair
from jsonrepair import jsonrepair
import json

broken = '''{
  name: "Alice",
  age: 30,
  tags: ["dev", "writer",], // coma final + comentario
}'''

fixed = jsonrepair(broken)
obj = json.loads(fixed)
print(obj)
# => {'name': 'Alice', 'age': 30, 'tags': ['dev', 'writer']}

Fix rápido de coma final con jq + sed (sólo emergencia)

bash
# Elimina comas finales de objetos/arrays (opción de emergencia; NO maneja comentarios / comillas simples)
# Para escenarios complejos, usa una librería dedicada como jsonrepair
sed -E 's/,([ \t]*[}\]])/\1/g' broken.json > clean.json

# Valida la salida limpiada
jq . clean.json >/dev/null && echo 'JSON es válido'

Preguntas Frecuentes

¿Cuál es la diferencia entre Reparar JSON y Formatear JSON?

Formatear JSON sólo reformatea JSON que ya es legal pero tiene sangría o espaciado inconsistente. Reparar JSON, en cambio, maneja específicamente JSON con errores de sintaxis: primero corrige problemas estructurales como comas finales, comillas simples, comentarios, corchetes faltantes, y luego emite formato estándar. Cuando una herramienta de formateo lance SyntaxError, primero usa Reparar JSON.

¿Qué errores de sintaxis JSON comunes soporta reparar la herramienta?

La herramienta incluye algoritmos de reparación inteligente para los siguientes problemas frecuentes: 1) Comas finales (Trailing commas); 2) Comillas simples en lugar de dobles; 3) Claves sin comillas; 4) Cadenas sin cerrar; 5) Comentarios de línea/bloque JavaScript; 6) JSON envuelto en bloques de código Markdown; 7) Llaves/corchetes de cierre faltantes por truncamiento.

¿Por qué la salida JSON de IA o LLMs suele no ser estándar?

Los modelos de lenguaje grandes (ej. ChatGPT, Claude, Gemini) frecuentemente producen JSON envuelto en Markdown (```json ... ```), con texto explicativo prefijo/sufijo, comas finales, comentarios, o con estructura incompleta por truncamiento de tokens. Reparar JSON está específicamente optimizado para estos escenarios para limpiar con un clic la salida IA a JSON válido.

¿Es el JSON reparado siempre idéntico estructuralmente a los datos originales?

La salida reparada es una cadena JSON válida conforme al estándar JSON; la semántica de datos se preserva en la gran mayoría de los casos. Sin embargo, dado que la reparación se basa en reglas heurísticas, en escenarios extremadamente rotos o ambiguos (ej. múltiples comas faltantes en la misma línea) puede desviarse ligeramente de la intención original. Recomendamos ejecutar Validación Schema o revisión humana para datos críticos.

¿Por qué no usar directamente Python json.loads o JavaScript JSON.parse?

Los parsers nativos sólo pueden lanzar errores ante SyntaxError, no reparan. Reparar JSON es una capa tolerante que se sitúa delante de los parsers nativos: primero intenta arreglar el texto, luego lo pasa al parser nativo, asegurando que la salida final sea consumible por cualquier parser JSON estricto. La misma idea puede aplicarse como preprocesamiento en entornos de producción en el lado del servidor.

¿Se preservan los comentarios en JSON5 / JSONC?

No. Los comentarios son parte de la sintaxis extendida JSON5, no del JSON estándar. La herramienta los elimina para asegurar que la salida cumple con el JSON estándar. Si deseas mantenerlos, continúa usando archivos fuente JSON5 o la cadena de herramientas JSONC. Si necesitas convertir JSON5 a JSON estándar, esta herramienta lo hace directamente.

¿Se puede reparar JSON truncado (ej. salida streaming cortada)?

Sí. La herramienta intenta emparejar paréntesis derechos faltantes, corchetes y comillas de cierre de cadena, preservando tanto contenido identificado como sea posible. Nota: si el punto de truncamiento cae dentro de un literal de cadena, puede que necesites aportar manualmente los caracteres clave faltantes.

¿Hay pérdida de datos tras la reparación?

En escenarios comunes de reparación (quitar comas finales, añadir comillas, completar corchetes, eliminar comentarios) la semántica de datos se preserva completamente. En casos raros, cuando el contenido original tiene ambigüedad irreversible (ej. nivel de anidamiento destruido), la herramienta reparará lo más conservadoramente posible y emitirá el original tal cual; no eliminará campos o claves activamente.

¿Puedo reparar múltiples JSONs en lote?

Esta herramienta repara una entrada a la vez. Para escenarios por lotes, recomendamos ejecutar el algoritmo subyacente localmente en un script (ej. la librería jsonrepair de Python o el paquete npm josdejong/jsonrepair), luego importar el resultado a esta herramienta para verificación humana y formateo.

¿Aún necesito formatear y Validación Schema tras la reparación?

Recomendado. La reparación aborda principalmente errores a nivel de sintaxis; el formateo y la Validación Schema aseguran legibilidad y corrección de negocio. La salida de la herramienta de reparación se conecta perfectamente con Formatear JSON, Validación Schema y generadores de código de GeekFormat.

¿La herramienta subirá mi JSON a un servidor?

No. Todo el análisis, reparación y formateo ocurre localmente en el navegador; ni la entrada ni los resultados intermedios se envían a ningún servidor. Funciona sin conexión, apto para manejar JSON sensible (ej. respuestas API de entornos de producción, configuraciones internas).

¿Puedo fijar la estrategia de reparación usada cada vez?

Esta herramienta activa todas las reglas de reparación comunes por defecto para maximizar la tasa de éxito. Si necesitas control detallado sobre reglas para un lenguaje o equipo específico, puedes usar la librería jsonrepair en tu entorno de producción y activar o desactivar selectivamente reglas específicas. La salida de esta herramienta también puede servir como entrada estandarizada para validación aguas abajo.

Solución de problemas

Error "No se puede reparar este JSON"

Causa: el texto de entrada tiene daño estructural severo, como múltiples corchetes faltantes, literales de cadena truncados o conjunto de caracteres corrupto. Solución: abre el archivo original en un editor de texto plano primero, confirma que la codificación es UTF-8 sin BOM y que no es un binario comprimido; si los datos vinieron de una respuesta API, contacta al upstream para completarlos; para conjuntos de datos extremadamente rotos, usa el archivo fuente directamente.

Los campos se movieron a la posición incorrecta tras la reparación

Causa: el texto original contenía caracteres de sintaxis JSON (ej. //, /*, }) dentro de comentarios o literales de cadena,误导iendo al parser; o el nivel de anidamiento es tan profundo que el emparejamiento de corchetes se desvía. Solución: escapa manualmente el // y /* dentro de cadenas; para datos profundamente anidados, añade corchetes temporales externos o saltos de línea antes de volver a ejecutar la reparación.

El texto explicativo en la salida de IA no se elimina

Causa: la salida de IA suele comenzar/terminar con lenguaje natural (ej. "Aquí está el resultado:") y puede abarcar múltiples líneas. Solución: usa un editor de texto para eliminar el texto fuera del bloque JSON, manteniendo sólo el contenido dentro de la envoltura ```json más externa; si la herramienta aún no puede reconocerlo, añade manualmente las { } más externas antes de volver a ejecutar la reparación.

El tamaño no cambió tras la reparación, o algunos caracteres fueron reemplazados

Causa: el original contenía barras invertidas, escapes Unicode o entidades HTML, que la herramienta re-escapó según las reglas JSON. Solución: verifica si el original estaba anidado dentro de una cadena JS; si está en una página HTML, decodifica HTML primero; más caracteres tras el escape es normal.

El navegador muestra "Sin memoria" o se congela

Causa: una sola entrada de más de 5–10 MB ejerce una presión de memoria significativa sobre el navegador. Solución: divide los datos en lotes más pequeños (1–2 MB cada uno); o usa la librería jsonrepair del lado del servidor para streaming; una pequeña diferencia entre el resultado reparado y el original es normal.

La validación Schema aún reporta errores tras la reparación

Causa: Reparar JSON sólo corrige errores a nivel de sintaxis; no impone nombres, tipos o valores de campos de negocio contra el Schema. Solución: usa la herramienta de Validación JSON Schema de GeekFormat para verificar restricciones de campos; ubica campos específicos por error y corrígelos manualmente.

Glosario

JSON
JavaScript Object Notation, formato ligero de intercambio de datos basado en pares clave-valor definido en RFC 8259. Estándar de facto para API REST, archivos de configuración y logs.
RFC 8259
Especificación oficial JSON de IETF, define la sintaxis estricta del JSON válido — todas las claves deben ir entre comillas dobles, sólo un conjunto limitado de caracteres en cadenas necesitan escape, no se permiten comentarios ni comas finales.
JSON.parse
Parser JSON estricto integrado en JavaScript y navegadores modernos, conforme a RFC 8259. Lanza SyntaxError ante cualquier error de sintaxis y no puede realizar reparación tolerante.
JSON5
Sintaxis extendida para JSON (no estándar), permite claves sin comillas, cadenas con comillas simples, comentarios (// y /* */), comas finales, números hexadecimales, etc. Más fácil de escribir a mano pero incompatible con JSON.parse.
JSONC
JSON with Comments, nombre genérico usado por editores como VS Code para archivos de configuración JSON con comentarios (ej. tsconfig.json). Efectivamente un alias de JSON5.
Trailing Comma
Coma extra tras el último elemento de un objeto o array. Permitida en JavaScript pero prohibida por el estándar JSON — el error de sintaxis más común de salidas LLM y copias de console.log().
Bloque de Código Markdown
Fragmento de código envuelto en tres comillas invertidas (```). Los LLMs suelen envolver automáticamente la salida JSON en ```json ... ```; pegarlo directamente a JSON.parse() fallará.
Parser Tolerante
Parser que intenta recuperarse y continuar analizando al encontrar errores de sintaxis. El motor principal de una herramienta de Reparar JSON, distinto del JSON.parse estricto.
SyntaxError
Excepción de error de sintaxis lanzada por JavaScript. Cualquier parser JSON estricto la lanza al recibir entrada que no cumple RFC 8259.
JSON Canónico
JSON regenerado vía parse + stringify, con orden de claves estable, sin espacios extra y 100% compatible con parsers estándar. El formato de salida final de una herramienta de Reparar JSON.

Tipos Comunes de Error en Reparación JSON con Ejemplos

CategoríaAntesDespuésMétodo de reparación
Coma final{ "a": 1, }{ "a": 1 }Eliminar la coma tras el último elemento
Comillas simples{ 'a': 1 }{ "a": 1 }Reemplazar todas las comillas simples por dobles
Claves sin comillas{ a: 1 }{ "a": 1 }Añadir comillas dobles a las claves
Comentarios de línea{ // comentario "a": 1 }{ "a": 1 }Eliminar comentarios //
Comentarios de bloque{ /* bloque */ "a": 1 }{ "a": 1 }Eliminar comentarios /* */
Envoltura Markdown```json { "a": 1 } ```{ "a": 1 }Quitar envolturas ```json y ```
Cadena sin cerrar{ "a": "hola }{ "a": "hola" }Añadir comilla de cierre faltante
Corchete faltante{ "a": 1{ "a": 1 }Emparejar pila para añadir llave/corchete de cierre

Reparar JSON vs Formatear JSON vs Validación JSON Schema

HerramientaQué resuelveRequisito de entradaModo de fallo
Reparar JSONConvertir JSON con error a JSON válidoTolerante, acepta JSON no estándarError si demasiado roto para adivinar la estructura
Formatear JSONReformatear JSON válidoDebe ser JSON ya válidoLanza SyntaxError directamente
Comprimir JSONEliminar espacios, reducir tamañoDebe ser JSON ya válidoLanza SyntaxError directamente
Validación JSON SchemaVerificar tipos/valores de campos vs reglas de negocioDebe ser JSON ya válidoLista cada campo que viola las reglas
JSON Merge / SortFusión multi-fuente / ordenar clavesDebe ser JSON ya válidoLanza SyntaxError directamente

Authoritative References