Saltar al contenido

Convertidor de TOML a JSON

Convierta un documento de configuración TOML a JSON, directamente en su navegador.

Entrada
Salida

Convertidor de TOML a JSON

Pegue un archivo de configuración TOML y obtenga un objeto JSON limpio y estructurado: el formato que la mayoría de los scripts, API y herramientas de compilación realmente esperan. TOML es el valor predeterminado para Cargo.toml de Rust, pyproject.toml de Python, Hugo e innumerables configuraciones de aplicaciones precisamente porque es fácil de leer y escribir para los humanos, pero en el momento en que esa configuración necesita llegar a JavaScript, un paso de CI o una llamada REST, JSON es lo que quiere el resto de la cadena de herramientas. Este convertidor cierra esa brecha sin instalar un analizador ni escribir un script.

El analizador cubre las partes de TOML 1.0 que realmente encontrará en una configuración real: claves simples y entrecomilladas, claves punteadas como server.host que construyen objetos anidados, cadenas básicas con escapes y su forma multilínea entre comillas triples, cadenas literales para rutas que no deben tener escapes, enteros en decimal, hex, octal o binario con separadores de subrayado, flotantes que incluyen exponentes e inf/nan, booleanos, desplazamientos y fechas y horas locales, matrices que abarcan varias líneas con comas al final, tablas en línea y encabezados [tabla] y [[matriz de tablas]] para bloques repetidos, como una lista de servidores o dependencias. Los comentarios que comienzan con # se eliminan, exactamente como los define TOML.

Elija cómo se sangra el JSON (dos espacios, cuatro espacios, tabulaciones o una sola línea minimizada para pegar en otro lugar) y, opcionalmente, ordene las claves de cada objeto alfabéticamente, lo que hace que diferenciar dos versiones de una configuración generada sea mucho más fácil. Si el TOML tiene un problema de sintaxis, la herramienta nombra la línea exacta y lo que está mal (una cadena abierta, un signo igual faltante, una clave duplicada) en lugar de simplemente fallar silenciosamente.

Todo se ejecuta localmente en su navegador. Nada de lo que pegue se carga en ninguna parte, lo cual es importante cuando la configuración contiene hosts de bases de datos, puntos finales de API u otros detalles que preferiría no enviar a un servidor solo para reformatear un archivo.

Preguntas frecuentes

¿Qué partes de TOML admite esto?
El subconjunto práctico 1.0: claves (simples, entre comillas, con puntos), cadenas básicas y literales que incluyen formas de varias líneas, números enteros en decimal/hex/octal/binario, flotantes con exponentes e inf/nan, booleanos, fechas y horas, matrices, tablas en línea, encabezados [tabla] y [[matriz de tablas]] y # comentarios.
¿Qué pasa con las fechas y las fechas-horas?
TOML tiene tipos de fecha y hora reales que JSON no tiene, por lo que se mantienen exactamente como están escritos (como cadenas JSON como "1979-05-27T07:32:00Z"), en lugar de adivinarlos en otra cosa.
¿Cómo se convierten los bloques [[matriz de tablas]]?
Cada encabezado [[nombre]] agrega un nuevo objeto a una matriz bajo esa clave, por lo que los bloques repetidos (una lista de dependencias, servidores o frutas) se convierten en una matriz JSON de objetos en el orden en que aparecen.
¿Qué hace cuando el TOML tiene un error?
Informa el número de línea y un breve motivo (una cadena abierta, un '=" faltante, una clave definida dos veces) en lugar de devolver un resultado en blanco o parcialmente convertido.
¿Mi archivo de configuración está cargado en alguna parte?
No. La conversión se ejecuta completamente en su navegador y el TOML que pega nunca sale de su dispositivo: seguro para configuraciones que contienen credenciales o nombres de host internos.