Convertidor TOML a JSON para Cargo.toml, pyproject.toml y configs de Rust
Lee Cargo.toml, pyproject.toml o cualquier configuración TOML como JSON, y vuelve a escribir objetos JSON como tablas TOML en el navegador. El analizador maneja fechas, tablas de tablas y tablas con puntos; los comentarios, el orden de claves y null no se conservan.
Cómo funciona este convertidor TOML ↔ JSON
Pensado para archivos manifiesto
Pega Cargo.toml o pyproject.toml e inspecciona tablas anidadas y entradas [[bin]] / [[bench]] como objetos y matrices JSON.
Las tablas de tablas funcionan en ambos sentidos
Los bloques [[products]] se convierten en matrices de objetos, y una matriz JSON de objetos con la misma forma se reescribe como bloques [[table]]. Las matrices anidadas quedan inline.
Fechas y horas se analizan como objetos Date
Las fechas-hora, fechas y horas TOML se convierten en Date de JavaScript, así que el JSON muestra cadenas ISO como 1979-05-27T07:32:00.000Z. Al convertir de vuelta se escribe una cadena entre comillas, no una fecha TOML nativa.
Las tablas anidadas y con puntos se reconstruyen
[tool.poetry] y [a.b] se convierten en objetos anidados. Las claves escalares salen antes de las subtablas, así que el orden original no se conserva.
Conversión local con selección de archivo
Elige archivos .toml / .json o pega texto, luego descarga el resultado. No se sube nada y no hay opciones de indentación ni ordenación.
Preguntas frecuentes sobre TOML ↔ JSON
¿JSON → TOML admite null?
No. TOML no tiene tipo null y el serializador elimina en silencio las claves cuyo valor es null, incluidos los elementos null dentro de matrices. Elimina o sustituye los null antes de convertir, o los datos desaparecerán sin error.
¿Cómo se manejan fechas y horas?
TOML → JSON analiza fechas-hora, fechas locales y horas locales como objetos Date y muestra cadenas ISO: 1979-05-27T07:32:00.000Z, 1979-05-27, 07:32:00.000. JSON → TOML trata esas cadenas como texto normal y las entrecomilla: no vuelven como fechas TOML nativas. Solo un objeto Date real producido al analizar se escribe sin comillas. Una hora corta como 07:32 falla con «Incomplete time»: los segundos son obligatorios.
¿Se conservan los comentarios y el orden de claves?
No. Los comentarios y líneas vacías se descartan al analizar y nunca se regeneran. El orden también cambia: primero las claves escalares, luego las subtablas. Las claves duplicadas se rechazan con «Can't redefine existing key».
¿Cómo se representan las tablas de tablas?
Los bloques [[products]] se convierten en matrices de objetos JSON. Al revés, una matriz de objetos se escribe como bloques [[products]], y las matrices anidadas quedan inline. La raíz JSON debe ser un objeto: una raíz de tipo matriz falla con «Can only stringify objects, not array».
¿Por qué falla mi matriz JSON con «Array values can't have mixed types»?
Este analizador exige matrices TOML homogéneas (reglas TOML 0.5). Una matriz que mezcla números y cadenas, u objetos y escalares, lanza un error. Sepárala en varias matrices o usa una tabla.
¿Y los enteros grandes, NaN y valores vacíos?
Los enteros mayores de 2^53 pierden precisión y se escriben con guiones bajos, por ejemplo 12_345_678_901_234_567_000. NaN e Infinity se convierten en nan / inf. Una matriz vacía se escribe [ ], un objeto vacío { }, y las claves undefined se omiten en silencio.
¿Se sube mi archivo y qué pasa si hay errores?
Todo se ejecuta en el navegador; los archivos nunca se suben. No hay límite configurado, pero la conversión es sincrónica, así que un manifiesto de varios MB puede bloquear la página. Un TOML inválido pone en rojo el cuadro izquierdo y muestra un toast; un JSON inválido pone en rojo el derecho. Ningún sentido produce resultados parciales.

