Перейти до вмісту

Валідатор TOML

Перевіряйте файли TOML, як-от Cargo.toml, pyproject.toml або налаштування Hugo та Netlify, перш ніж через них зірветься збірка. Валідатор розбирає введені дані відповідно до специфікації TOML і повідомляє про першу помилку, вказуючи рядок, стовпець і пояснення парсера, зокрема для дубльованих ключів, повторно визначених таблиць і неможливих дат. Для дійсних файлів відображаються кількість таблиць і ключів та ключі верхнього рівня, щоб ви могли одразу перевірити структуру.

Скинути

Поширені запитання

Що перевіряє валідатор TOML?

Він розбирає ключі, рядки, числа, логічні значення, дати й час, масиви, вбудовані таблиці, таблиці та масиви таблиць точно так, як це визначено специфікацією TOML. Будь-яке відхилення, наприклад відсутнє значення, рядок без лапок або неправильна escape-послідовність, буде позначено як помилку. Для дійсних файлів надається короткий опис їхньої структури.

Яку інформацію містить повідомлення про помилку?

Кожне повідомлення про помилку вказує рядок і стовпець, де розбір зупинився, а також подробиці від парсера, наприклад про недійсну дату або спробу повторно визначити вже задану таблицю чи значення. Нумерація рядків і стовпців починається з 1. Відображається лише перша помилка, оскільки подальші часто є її наслідками.

Чому ключ або таблицю позначено як повторно визначені?

TOML не дозволяє двічі використовувати той самий ключ у таблиці, а заголовок таблиці, наприклад [server], може з’являтися лише один раз. Визначення ключа з крапкою, наприклад server.port, після таблиці [server], у якій уже задано port, також вважається повторним визначенням. Щоб виправити це, об’єднайте записи в одному місці.

Як рахуються таблиці та ключі?

Tables — це кількість усіх таблиць нижче кореня, зокрема вбудованих таблиць і кожного елемента масиву таблиць. Keys — це кількість ключів зі значеннями, відмінними від таблиці або масиву таблиць; тому список рядків рахується як один ключ. Top-level keys — це список назв на кореневому рівні, не більше ніж 50.

Чи перевіряються дати й час?

Так. Перевіряються дати й час із часовим зсувом, локальні дати й час, а також локальні дати та локальний час, зокрема неможливі значення, як-от місяць 13 або година 25. Дата в іншому форматі, наприклад 05/27/1979, не є датою TOML, тому її потрібно взяти в лапки як рядок.

Які рядки та escape-послідовності дозволені?

У базових рядках у подвійних лапках підтримуються escape-послідовності, як-от \n, \t, \" і \uXXXX, а в літеральних рядках в одинарних лапках кожен символ сприймається буквально. Для обох типів доступні багаторядкові форми з трьома лапками. Про невідому escape-послідовність або незакритий рядок повідомляється із зазначенням його позиції.

Чи приймаються дуже великі цілі числа?

Так. Приймаються цілі числа в межах 64-бітного обмеження специфікації TOML, наприклад 9223372036854775807. Числа за межами цього діапазону, початкові нулі та підкреслення, розташовані не між цифрами, вважаються помилками.

Чи спричиняє проблеми маркер порядку байтів або завершення рядка Windows?

Ні. Маркер порядку байтів UTF-8 на початку ігнорується, а завершення рядків LF і CRLF приймаються. Керівні символи в рядках, які не екрановано, вважаються помилками.

Чи перевіряє він значення ключів, як це робили б Cargo або Poetry?

Ні, валідатор перевіряє лише синтаксис і структуру TOML. Файл може бути дійсним TOML і водночас містити ключ, якого не розуміє Cargo чи бекенд збірки Python. Скористайтеся цим інструментом, щоб виключити синтаксичні помилки, перш ніж перевіряти налаштування конкретного інструмента.

Яким може бути максимальний розмір вводу та чи можна його конвертувати?

Вхідні дані можуть мати розмір до 5 MiB, а вкладені масиви й таблиці в рядку — глибину до 64 рівнів. Щоб перетворити коректний TOML на JSON, YAML або інший формат, скористайтеся Конвертером форматів даних.

Про OneClick Pro

OneClick Pro — це безкоштовна колекція з понад 150 вебінструментів для повсякденної роботи: конвертації зображень і одиниць, форматування та перевірки коду, перевірки доменів і SEO, а також роботи з текстом, датами й числами. Кожен інструмент працює без реєстрації чи передплати, а введені вами дані використовуються лише для обчислення результату й ніколи не зберігаються. Використовуйте цю добірку як швидкий набір інструментів для разових завдань або додайте в закладки інструменти, якими користуєтеся щодня.