araç köşesi

Convertir y validar JSON5 a JSON

Revise JSON5 con comentarios, comillas simples o comas finales y conviértalo a JSON estricto

Sus datos se quedan con usted. La conversión ocurre dentro del navegador; no se envía nada a ningún servidor.

Cómo funciona

Un tsconfig.json, el settings.json de VS Code o una configuración de Babel suelen tener líneas de comentario, comillas simples y una coma después del último elemento. Esos archivos funcionan en su propio programa, pero una herramienta, una API o JSON.parse que espera JSON estricto los rechaza con un error "Unexpected token". Pegue el texto en el cuadro izquierdo. La herramienta lo lee con las reglas de JSON5 y escribe JSON estricto a la derecha: las claves sin comillas (target:) reciben comillas dobles, las cadenas con comillas simples como 'ES2020' pasan a comillas dobles, se quitan las comas finales, los números hexadecimales como 0x10 pasan a 16 y se eliminan los comentarios // y /* */. La línea de resultado indica el tamaño en bytes y cuántos comentarios se eliminaron. Si el texto tampoco es JSON5 válido, por ejemplo queda una comilla abierta, no se convierte nada y verá la línea y la columna del error. JSON no tiene Infinity ni NaN; esos valores se escriben como null y se avisan aparte en la línea de resultado.

Esta herramienta también se busca como convertir json5 a json, json5 to json, validar json5, quitar comentarios json, jsonc a json, json con comentarios.

¿Qué es JSON5?

JSON5 es una extensión de JSON que facilita escribirlo a mano y se basa en cómo JavaScript escribe los objetos. A diferencia del JSON estricto, admite comentarios // y /* */, cadenas con comillas simples, claves sin comillas, una coma después del último elemento, números hexadecimales que empiezan con 0x y los valores Infinity y NaN. Babel y algunas herramientas de compilación leen configuraciones en JSON5, pero JSON.parse del navegador no puede.

¿Qué es JSON estricto?

El JSON estricto sigue exactamente el estándar RFC 8259: claves y cadenas solo con comillas dobles, sin comentarios, sin coma después del último elemento y con números en base diez. La biblioteca JSON de cualquier lenguaje de programación y cualquier API leen esta forma. Convertir un archivo de configuración a JSON estricto antes de pasarlo a otro programa evita errores del tipo "Unexpected token".

¿Cuál es la diferencia entre JSON5 y JSON?

JSON es un formato estricto pensado para intercambiar datos: cada clave con comillas dobles, sin comentarios, sin coma final. JSON5 mantiene el mismo modelo de datos pero relaja la escritura: se permiten comentarios, comillas simples, claves sin comillas, comas finales y números hexadecimales. Todo documento JSON es JSON5 válido, pero no al revés. Por eso JSON5 se usa en archivos de configuración que editan personas, y JSON para mover datos entre programas.

¿Por qué no aparecen mis comentarios en la salida?

El JSON estricto no admite comentarios; el estándar los deja fuera a propósito. Por eso, al convertir JSON5 a JSON, las notas escritas con // y /* */ se pierden sin remedio. La herramienta indica cuántos comentarios quitó para que note que esa información ya no está.

Si va a seguir editando el archivo a mano, guarde el archivo JSON5 original y use la salida JSON solo donde se exige JSON estricto (una petición a una API, un campo de base de datos, un script que usa JSON.parse). Si quiere conservar los comentarios, YAML es una buena opción: admite comentarios y guarda los mismos datos que JSON.

¿Cuándo basta JSON5 y cuándo hace falta JSON?

JSON5 y JSON con comentarios (JSONC) son para archivos de configuración que las personas editan a mano: se pueden escribir notas y dejar una coma final para agregar o quitar líneas con facilidad. TypeScript, VS Code y Babel aceptan esta forma flexible en sus propios archivos.

Cuando los datos pasan de un programa a otro, hace falta JSON estricto: JSON.parse del navegador, las API REST y la mayoría de las bibliotecas toman los comentarios o las comillas simples como error. Esta página pasa el texto del primer mundo al segundo; para JSON que ya es estricto y solo necesita sangría, conviene más la herramienta para formatear JSON.

  • tsconfig, VS Code, configuración de Babel → puede quedarse en JSON5 / JSONC
  • Petición a API, JSON.parse, base de datos → JSON estricto (salida de esta página)
  • Ya es JSON estricto, solo sangría → formatear JSON

Preguntas frecuentes

¿Cómo convierto JSON con comentarios a JSON normal?

Pegue el texto en el cuadro izquierdo de esta página. Se quitan los comentarios // y /* */, las comillas simples pasan a dobles, se eliminan las comas finales y a la derecha aparece JSON estricto. Puede copiarlo o descargarlo como archivo .json.

¿JSON5 y JSONC son lo mismo?

Se parecen, pero no son iguales. JSONC, el que usa VS Code, solo admite comentarios y, en algunos lugares, la coma final. JSON5 va más allá: también permite comillas simples, claves sin comillas, números hexadecimales y cadenas de varias líneas. Todo archivo JSONC es JSON5 válido, así que esta herramienta lee los dos.

¿Qué pasa con los valores Infinity o NaN?

JSON no reconoce esos valores; JSON.stringify los escribe como null. La herramienta no lo hace en silencio: la línea de resultado indica cuántos valores quedaron en null. Si necesita conservarlos, guárdelos como texto ("Infinity").

¿Mis datos se envían a un servidor?

No. La conversión se hace por completo en su navegador; el archivo de configuración o los datos que pega no salen de esta página y no se guardan en ningún lugar.