AZ Tools

Convertidor TOML ↔ JSON

Convertir

TOML y JSON codifican los mismos datos de configuración jerárquicos con sintaxis muy diferente. Este convertidor camina ambas direcciones: pega un `Cargo.toml` o `pyproject.toml` para obtener la forma JSON que tu linter o generador espera, o alimenta un config JSON y obtén la versión TOML que viene con el tooling Rust/Python. Maneja las partes de TOML que realmente aparecen en la naturaleza — tablas top-level `[a.b]`, array-of-tables `[[a.b]]`, tablas inline `{ k = v }`, arrays inline, strings básicos, enteros, floats con separadores underscore, booleans, fechas ISO y datetimes.

Cómo usar

  1. Elige una dirección. `TOML → JSON` parsea tu TOML en un objeto JSON; `JSON → TOML` hace lo inverso.
  2. Pega la fuente. Los errores apuntan a la línea / carácter que rompió el parseo.
  3. Copia el resultado. La salida TOML agrupa escalares primero, luego secciones `[table]`, luego bloques `[[array.of.tables]]` — el orden que la mayoría de linters esperan.

Preguntas frecuentes

¿Cubre la especificación TOML completa?
Maneja tablas, keys con puntos, tablas inline, arrays inline, arrays multi-línea, strings básicos, strings básicos multi-línea, strings literales, enteros con separadores `_`, floats, booleans, datetimes RFC 3339, y array-of-tables. Características menos comunes (aritmética de datetime con offset, casos edge de secuencias escape, valores mixtos muy profundamente anidados) hacen round-trip pero pueden necesitar edición manual.
¿Por qué JSON → TOML reordena mis keys?
TOML requiere que los escalares vengan antes de cualquier bloque `[table]` dentro de una sección, porque una vez que `[table]` abre, el siguiente set de keys le pertenece. El serializador reorganiza escalares primero así la salida parsea de vuelta correctamente — el significado de tu campo top-level no cambia.

Herramientas relacionadas