DevToolPal
ES

Convertidor de JSON5 a JSON

Convierte JSON5 o JSONC (comentarios, comas finales, claves sin comillas, comillas simples) en JSON estricto y estándar.

Se ejecuta en local, nunca se sube

Opciones

Sangría

Entrada

0 caracteres · 0 B

Salida

0 caracteres · 0 B

Qué hace

JSON5 es una extensión de JSON pensada para archivos que escriben las personas a mano. Permite comentarios, comas finales, claves de objeto sin comillas, cadenas con comillas simples y algunos formatos numéricos más cómodos. Herramientas como Babel, algunos empaquetadores y muchas aplicaciones aceptan JSON5 o JSONC (JSON con comentarios, el que usan tsconfig.json y la configuración de VS Code) para su configuración.

Sin embargo, muchos analizadores, API y lenguajes solo aceptan JSON estricto. Este convertidor lee JSON5 o JSONC y genera JSON estándar que cualquier analizador acepta: todas las claves entre comillas dobles, sin comentarios, sin comas finales y con los números en formato decimal.

Cómo se usa

  1. Pega tu JSON5 o JSONC, sube un archivo .json5, .jsonc o .json, o pulsa Ejemplo.
  2. Elige la Sangría: 2 o 4 espacios, o Compacto para una sola línea.
  3. Elige qué hacer con Infinity y NaN: convertirlos en null, convertirlos en cadenas o mostrar un error.
  4. Copia o descarga el JSON.

Si la entrada tiene un error de sintaxis, el mensaje muestra la línea y la columna para que puedas ir directamente a él. El JSON normal también es JSON5 válido, así que puedes usar la herramienta para comprobar que un archivo se analiza bien y volver a sangrarlo.

Ejemplo

Esta configuración en JSON5:

// Server settings
{
  host: 'localhost',
  port: 0x1F90,      // 8080
  ratio: .5,
  tags: ['api', 'v2',],
}

se convierte en este JSON estricto:

{
  "host": "localhost",
  "port": 8080,
  "ratio": 0.5,
  "tags": [
    "api",
    "v2"
  ]
}

Los comentarios se eliminan, las claves y las cadenas pasan a llevar comillas dobles, el número hexadecimal y el decimal sin parte entera se escriben en decimal, y las comas finales desaparecen.

Qué se convierte

  • Se eliminan los comentarios de línea // y de bloque /* */.
  • Las claves sin comillas como port y las cadenas con comillas simples como 'localhost' pasan a comillas dobles.
  • Las cadenas que continúan con una barra invertida al final de la línea se unen en una sola.
  • Los hexadecimales (0xFF), los puntos decimales iniciales o finales (.5, 5.) y los signos más explícitos (+3) se convierten en números decimales normales.
  • Se quitan las comas finales de objetos y arrays.
  • Si una clave aparece dos veces, gana el último valor, igual que en JavaScript.

Preguntas frecuentes

› ¿Qué diferencia hay entre JSON5 y JSONC?

JSONC es JSON con comentarios (y, en VS Code, comas finales). JSON5 va más allá: claves sin comillas, cadenas con comillas simples, cadenas de varias líneas, números hexadecimales, puntos decimales iniciales o finales, Infinity y NaN. JSON5 es un superconjunto de JSONC, así que esta herramienta lee ambos.

› ¿Se conservan los comentarios?

No. El JSON estándar no tiene sintaxis de comentarios, así que se eliminan. Si necesitas conservarlos, mantén el archivo JSON5 como fuente y genera el JSON a partir de él.

› ¿Qué pasa con Infinity y NaN?

El JSON estricto no puede representarlos. Por defecto se convierten en null, como hace JSON.stringify de JavaScript. También puedes convertirlos en cadenas o mostrar un error que indique la ruta exacta.

› ¿Se suben mis datos?

No. El análisis y la conversión se hacen por completo en tu navegador, así que los archivos de configuración con secretos nunca salen de tu dispositivo.