Saltar al contenido
JSONCraft

Formatos y conversión

JSON, YAML y TOML: compara la misma configuración

Convierte una configuración entre tres formatos, comprueba su estructura e identifica pérdidas de nulos, fechas, números y comentarios.

Empieza por el formato que necesita la aplicación destinataria. Si exige JSON, un YAML más legible no lo sustituye hasta que el proceso convierta y valide explícitamente los datos.

La misma configuración en tres formatos

Descarga config.json y prueba JSON a YAML y JSON a TOML. Estas versiones describen los mismos datos anidados:

{"name":"api-gateway","port":8080,"featureFlags":["rate-limit","audit-log"],"database":{"host":"localhost","poolSize":20}}
name: api-gateway
port: 8080
featureFlags:
  - rate-limit
  - audit-log
database:
  host: localhost
  poolSize: 20
name = "api-gateway"
port = 8080
featureFlags = ["rate-limit", "audit-log"]

[database]
host = "localhost"
poolSize = 20

En TOML, featureFlags va antes de [database]. Las claves escritas después de esa cabecera pertenecen a la tabla database hasta que otra cabecera cambie el contexto. Mover el array debajo produciría database.featureFlags: la sintaxis seguiría siendo válida, pero la configuración sería diferente.

Vuelve con YAML a JSON o TOML a JSON. Comprueba que port es numérico, featureFlags está en la raíz y database.poolSize vale 20. El orden de las claves o los espacios pueden variar sin cambiar esos valores.

Diferencias que afectan a la conversión

Desplázate horizontalmente para ver todas las columnas.

Característica de entrada Qué comprobar
JSON null TOML no tiene un valor equivalente directo; revisa los avisos
Array JSON en la raíz TOML parte de tablas; envolverlo cambia la estructura
Alias YAML / referencias cíclicas Los valores pueden repetirse; los ciclos no son árboles JSON normales
Claves YAML no textuales / etiquetas propias No todo tiene un equivalente JSON portable
Fechas y horas TOML JSON no tiene fecha nativa; convertir a string pierde el tipo
Enteros grandes / flotantes no finitos Aplican la precisión de JavaScript y los números válidos en JSON
Comentarios y formato JSON estándar no los conserva como metadatos

JSONCraft avisa de algunos valores incompatibles con TOML, incluidos nulos y arrays raíz. Un aviso invita a revisar el contrato: no demuestra que el reemplazo conserve el significado.

Una elección práctica

JSON encaja en intercambio cuando importan compatibilidad y un modelo estricto. YAML sirve cuando el ecosistema lo utiliza y ayudan las anotaciones o su sintaxis adicional. TOML encaja en configuraciones expresables con tablas y tipos explícitos. Editar JSON a mano sigue siendo razonable si la aplicación lo exige y el editor ofrece validación.

YAML depende de la versión y las opciones del parser. YAML 1.1 puede interpretar NO como falso; YAML 1.2 acotó esa sintaxis. También varía el soporte de etiquetas y claves de combinación. Una conversión en el navegador no demuestra que otro runtime interprete todo igual. Usa una carga segura para entradas no fiables y valida el resultado.

Los arrays TOML permiten coma final; JSON no. Las tablas inline TOML tienen reglas propias: indica la versión que soporta tu parser y no generalices una regla de puntuación a todos los formatos.

Evita secretos en ejemplos y formularios de soporte. El conversor procesa los datos localmente; alojamiento y medición opcional se explican en privacidad.

Referencias: JSON RFC 8259, YAML 1.2.2 y TOML 1.0.

Herramientas relacionadas

Preguntas frecuentes

¿TOML puede representar cualquier JSON?

No. TOML no tiene null y su raíz es una tabla. Un conversor puede avisar, sustituir valores o envolver un array raíz; inspecciona el resultado.

¿Se conservan comentarios al pasar por JSON?

No. JSON estándar no admite comentarios. Leer y volver a escribir tampoco garantiza conservar anclas YAML o el formato original.

Por