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.
¿Le sirvió esta herramienta?
Gracias, su comentario llegó.
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.