Перейти к содержимому

Валидатор TOML

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

Сбросить

Часто задаваемые вопросы

Что проверяет валидатор TOML?

Он разбирает ключи, строки, числа, логические значения, даты и время, массивы, встроенные таблицы, таблицы и массивы таблиц в точном соответствии со спецификацией TOML. Любое отклонение, например отсутствие значения, строка без кавычек или неверная escape-последовательность, сообщается как ошибка. Для корректных файлов выводится краткая сводка их структуры.

Какая информация приводится в сообщении об ошибке?

Для каждой ошибки указываются строка и столбец, на которых разбор остановился, а также пояснение парсера, например «некорректная дата» или попытка повторно определить уже объявленную таблицу или значение. Нумерация строк и столбцов начинается с 1. Отображается только первая ошибка, поскольку последующие часто вызваны ею.

Почему ключ или таблица отмечены как повторно определённые?

TOML не допускает повторения одного ключа в таблице, а заголовок таблицы, например [server], может встречаться только один раз. Определение ключа с точкой, например server.port, после таблицы [server], в которой уже задан port, тоже считается повторным определением. Чтобы исправить это, объедините записи в одном месте.

Как подсчитываются таблицы и ключи?

В число таблиц входят все таблицы ниже корневого уровня, в том числе встроенные таблицы и каждый элемент массива таблиц. В число ключей входит каждый ключ со значением, которое не является таблицей или массивом таблиц; список строк считается одним ключом. В списке ключей верхнего уровня приводятся имена ключей в корне, максимум 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, а также работы с текстом, датами и числами. Все инструменты доступны без регистрации и подписки, а введенные вами данные используются только для расчета результата и никогда не сохраняются. Используйте коллекцию как быстрый набор инструментов для разовых задач или добавьте в закладки те, которыми пользуетесь каждый день.