Validador de TOML
Valide archivos TOML como Cargo.toml, pyproject.toml o los ajustes de Hugo y Netlify antes de que una compilación falle por su causa. El validador analiza la entrada según la especificación TOML e informa del primer error con su línea, columna y la explicación del analizador, incluidos claves duplicadas, tablas redefinidas y fechas imposibles. En los archivos válidos se muestran el número de tablas y claves, así como las claves de nivel superior, para que pueda confirmar la estructura de un vistazo.
Preguntas frecuentes
¿Qué comprueba el validador de TOML?
Analiza claves, cadenas, números, valores booleanos, fechas y horas, matrices, tablas en línea, tablas y matrices de tablas exactamente como lo define la especificación TOML. Cualquier desviación, como un valor ausente, una cadena sin comillas o una secuencia de escape incorrecta, se notifica como error. Los archivos válidos incluyen un breve resumen de su estructura.
¿Qué información contiene un error?
Cada error muestra la línea y la columna en las que se detuvo el análisis y una línea de detalles del analizador, por ejemplo, una fecha no válida o un intento de redefinir una tabla o un valor ya definido. Las líneas y las columnas empiezan en 1. Solo se muestra el primer error, porque los posteriores suelen derivarse de este.
¿Por qué se indica que una clave o tabla está redefinida?
TOML no permite repetir una clave en una tabla y un encabezado de tabla como [server] solo puede aparecer una vez. Definir una clave con puntos como server.port después de que una tabla [server] ya haya establecido port también cuenta como redefinición. Para corregirlo, combine las entradas en un solo lugar.
¿Cómo se cuentan las tablas y las claves?
Tablas cuenta todas las tablas por debajo de la raíz, incluidas las tablas en línea y cada entrada de una matriz de tablas. Claves cuenta todas las claves que contienen un valor que no sea una tabla ni una matriz de tablas, así que una lista de cadenas cuenta como una clave. Claves de nivel superior muestra los nombres en la raíz, hasta un máximo de 50.
¿Se comprueban las fechas y las horas?
Sí. Se validan las fechas y horas con desplazamiento, las fechas y horas locales, las fechas locales y las horas locales, incluidos valores imposibles como el mes 13 o la hora 25. Una fecha escrita en otro formato, por ejemplo, 05/27/1979, no es una fecha TOML y debe escribirse entre comillas como cadena.
¿Qué cadenas y secuencias de escape se permiten?
Las cadenas básicas entre comillas dobles admiten secuencias de escape como \n, \t, \" y \uXXXX, mientras que las cadenas literales entre comillas simples conservan todos los caracteres tal como están escritos. Ambas tienen formas multilínea con tres comillas. Las secuencias de escape desconocidas y las cadenas sin cerrar se notifican con su posición.
¿Se aceptan números enteros muy grandes?
Sí. Se aceptan números enteros hasta el límite de 64 bits de la especificación TOML, como 9223372036854775807. Los números enteros fuera de ese rango, los ceros iniciales y los guiones bajos que no estén entre dígitos son errores.
¿Puede causar problemas una marca de orden de bytes o un salto de línea Windows?
No. Se ignora la marca de orden de bytes UTF-8 al principio y se aceptan los saltos de línea LF y CRLF. Los caracteres de control sin escapar dentro de las cadenas se notifican como errores.
¿Comprueba el significado de las claves, como harían Cargo o Poetry?
No, el validador solo comprueba la sintaxis y la estructura de TOML. Un archivo puede ser TOML válido y aun así contener una clave que Cargo o un sistema de compilación de Python no reconoce. Use la herramienta para descartar problemas de sintaxis antes de revisar los ajustes específicos de cada herramienta.
¿Qué tamaño máximo puede tener la entrada y puedo convertirla?
Las entradas pueden tener hasta 5 MiB y las matrices anidadas y tablas en línea, hasta 64 niveles de profundidad. Para convertir un TOML válido a JSON, YAML u otro formato, use el Conversor de formatos de datos.