Seleccionar idioma

Conversor de TOML a JSON

Convierte archivos de configuración TOML en JSON estructurado. Interpreta tablas, arrays de tablas, fechas y cadenas multilínea al instante.

Mehmet Demiray Publicado Actualizado
Compartir
Espaciado usado para formatear el JSON de salida

Qué es la conversión de TOML a JSON

El TOML es un formato de configuración pensado para que las personas lo lean y escriban con comodidad, con secciones claras y pares clave-valor sencillos. Lo usan herramientas como Cargo de Rust, Poetry de Python y el generador de sitios Hugo. El JSON, en cambio, es el formato preferido para procesar datos por código, gracias a su sintaxis uniforme de objetos y arrays.

Convertir de TOML a JSON permite tratar la configuración de forma programática. Una tabla TOML se transforma en un objeto JSON, y un array de tablas en un array de objetos.

La diferencia estructural está en el estilo: el TOML prioriza la legibilidad humana con secciones marcadas entre corchetes, mientras que el JSON busca la uniformidad para máquinas. Por eso esta conversión es habitual cuando un programa necesita leer ajustes que se escribieron en TOML. Si después quieres dejar el resultado bien presentado, el formateador de JSON te lo ordena con sangría clara.

Cómo funciona el conversor

El conversor analiza el archivo TOML respetando todas sus construcciones. Primero identifica las tablas, marcadas con su nombre entre corchetes, y las convierte en objetos JSON. Las tablas con nombre compuesto, separadas por puntos, generan objetos anidados con la jerarquía correspondiente.

Los arrays de tablas, escritos entre dobles corchetes, se traducen en arrays de objetos JSON, manteniendo el orden de los elementos. Las tablas en línea, definidas en una sola línea entre llaves, también se interpretan correctamente.

Los valores conservan su tipo siempre que es posible: las cadenas, los números y los booleanos pasan directamente, y las cadenas multilínea se mantienen íntegras. Los valores datetime de TOML se representan como cadenas en formato ISO dentro del JSON, ya que JSON no tiene un tipo de fecha nativo.

Los comentarios, que TOML marca con almohadilla, no forman parte de los datos, aunque pueden conservarse como metadatos cuando el contexto lo permite. El resultado es un JSON válido que refleja fielmente la estructura original.

Casos de uso habituales

El uso más común es leer archivos de configuración por código. Una herramienta de compilación que necesita los datos de un Cargo.toml los procesa con mucha más facilidad si están en JSON, el formato que la mayoría de lenguajes interpretan de forma nativa.

En pipelines de integración continua es habitual leer un pyproject.toml para extraer dependencias o metadatos. Convertirlo a JSON permite consultar esos valores con las herramientas estándar de procesamiento.

La conversión de la configuración de Hugo es otro escenario típico, sobre todo cuando un script necesita inspeccionar los ajustes del sitio. También resulta útil para depurar: ver un TOML como JSON ayuda a comprobar de un vistazo cómo se interpreta su estructura.

En todos estos casos, la conversión actúa como migración entre formatos y como puente para el intercambio de datos. Para el camino contrario tienes el conversor de JSON a TOML, y si tu origen es YAML, el conversor de YAML a JSON cubre esa otra ruta.

Tipos y estructuras que se conservan

Una de las virtudes de TOML es su tipado explícito, y conviene saber cómo se traslada al JSON. Las cadenas se mantienen como texto, los enteros y decimales como números, y los booleanos como true o false.

Las fechas con hora son un caso especial. TOML las reconoce como un tipo nativo, pero JSON no tiene equivalente, así que se representan como cadenas en formato ISO. No se pierde información, aunque el receptor deberá interpretarlas como fecha si las necesita tipadas.

Las cadenas multilínea, que TOML permite con comillas triples, se conservan íntegras con sus saltos de línea dentro del valor JSON. Las tablas anidadas se convierten en objetos anidados, y los arrays de tablas en arrays de objetos, respetando siempre la jerarquía.

Los comentarios son el único elemento que no forma parte de los datos. Al ser anotaciones para personas, no tienen un lugar natural en el JSON, aunque algunas conversiones los conservan como metadatos cuando resulta útil mantener ese contexto.

Buenas prácticas al convertir

Comprueba primero que el TOML esté bien formado. Una sección mal cerrada o una clave duplicada dentro de la misma tabla impiden el análisis, así que merece la pena revisar el archivo antes de convertir.

Ten presente cómo se tratan las fechas. Si tu flujo de trabajo espera objetos de fecha y no cadenas, recuerda que el JSON resultante las entregará en formato ISO como texto, y deberás convertirlas en tu código si necesitas operar con ellas.

Presta atención a las claves con caracteres especiales. En TOML van entre comillas, y en el JSON resultante se convierten en claves de texto normales, lo que puede afectar a cómo las consultas después.

Una vez convertido, valida el resultado con el formateador de JSON para confirmar que la estructura es la esperada. Esto es especialmente útil cuando el TOML original era extenso, porque te permite comprobar de un vistazo que las tablas anidadas y los arrays de tablas se han trasladado correctamente.

Las que respondemos con más frecuencia.

¿Cómo convierto TOML a JSON?

Pega el contenido de tu archivo TOML en la herramienta. El conversor interpreta las tablas, los arrays de tablas, las tablas en línea y los valores tipados, y los traduce a un objeto JSON equivalente. Cuando termina, copias el JSON resultante para usarlo en tu aplicación o pipeline.

¿Cuáles son las diferencias clave entre TOML y JSON?

El TOML está pensado para que las personas escriban configuración con comodidad, con secciones legibles entre corchetes y tipos explícitos como fechas. El JSON busca uniformidad para procesar por código, con su sintaxis de objetos y arrays. Ambos representan datos estructurados, pero TOML prioriza la legibilidad humana y JSON la facilidad de análisis automático.

¿Qué pasa con las estructuras anidadas y los caracteres especiales?

Las tablas con nombre compuesto se convierten en objetos JSON anidados, y los arrays de tablas en arrays de objetos, respetando la jerarquía original. Las claves con espacios o caracteres especiales, que en TOML van entre comillas, se trasladan como claves de texto en el JSON resultante.

¿La conversión es sin pérdida de datos?

Los valores y la estructura se conservan fielmente. La única diferencia notable son las fechas: TOML tiene un tipo datetime nativo, pero JSON no, así que se representan como cadenas en formato ISO. Los comentarios, al no ser datos, pueden quedar fuera o conservarse como metadatos según el contexto.

¿Puedo leer un Cargo.toml o un pyproject.toml con esta herramienta?

Sí. El conversor interpreta los archivos TOML habituales, incluidos Cargo.toml de Rust y pyproject.toml de Python, y los devuelve como JSON. Esto resulta muy útil en pipelines de integración continua o herramientas de compilación que necesitan procesar esos datos de configuración con las utilidades estándar de JSON.

¿Se conservan las cadenas multilínea y las fechas?

Las cadenas multilínea de TOML, escritas con comillas triples, se mantienen íntegras con sus saltos de línea dentro del valor JSON. Las fechas con hora se trasladan como cadenas en formato ISO, ya que JSON no dispone de un tipo de fecha propio, sin que se pierda la información original.