Към съдържанието

Валидатор на TOML

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

Нулиране

Често задавани въпроси

Какво проверява валидаторът на TOML?

Той анализира ключове, низове, числа, булеви стойности, дати и часове, масиви, вградени таблици, таблици и масиви от таблици точно както ги определя спецификацията на TOML. Всяко отклонение, например липсваща стойност, низ без кавички или неправилен екраниращ знак, се отчита като грешка. За валидните файлове се показва кратко обобщение на структурата.

Каква информация съдържа грешката?

Всяка грешка показва реда и колоната, на които анализът е спрял, както и ред с подробности от парсера, например невалидна дата или опит за повторно дефиниране на вече дефинирана таблица или стойност. Редовете и колоните започват от 1. Показва се само първата грешка, защото следващите често произтичат от нея.

Защо даден ключ или таблица се отчита като повторно дефиниран?

TOML не позволява един и същ ключ да се среща два пъти в таблица, а заглавка на таблица като [server] може да се появи само веднъж. Дефинирането на точков ключ като server.port след таблица [server], в която вече е зададен port, също се счита за повторна дефиниция. Съберете записите на едно място, за да поправите проблема.

Как се броят таблиците и ключовете?

„Таблици“ брои всяка таблица под основното ниво, включително вградени таблици и всеки запис в масив от таблици. „Ключове“ брои всеки ключ със стойност, различна от таблица или масив от таблици, така че списък от низове се брои като един ключ. „Ключове от най-горното ниво“ показва имената в основата, до 50.

Проверяват ли се датите и часовете?

Да. Валидират се дата и час с отместване, местни дата и час, местни дати и местни часове, включително невъзможни стойности като месец 13 или час 25. Дата в друг формат, например 05/27/1979, не е дата в TOML и трябва да бъде оградена в кавички като низ.

Кои низове и екраниращи знаци са позволени?

Основните низове в двойни кавички поддържат екраниращи знаци като \n, \t, \" и \uXXXX, докато буквалните низове в единични кавички запазват всеки знак точно както е въведен. И двата вида имат форми за няколко реда с три кавички. Непознат екраниращ знак или незатворен низ се отчита с позицията си.

Приемат ли се много големи цели числа?

Да. Приемат се цели числа до 64-битовия лимит на спецификацията TOML, например 9223372036854775807. Целите числа извън този диапазон, водещите нули и долните черти, които не са между цифри, се считат за грешки.

Създава ли проблем BOM или край на ред Windows?

Не. BOM в UTF-8 в началото се игнорира, а се приемат както краища на редове LF, така и CRLF. Неекранираните контролни знаци в низовете се съобщават като грешки.

Проверява ли значението на ключовете, както биха направили Cargo или Poetry?

Не, валидаторът проверява само синтаксиса и структурата на TOML. Един файл може да е валиден TOML и все пак да съдържа ключ, който Cargo или бекенд за изграждане на Python не разбира. Използвайте инструмента, за да изключите синтактични проблеми, преди да проверявате специфичните настройки на инструмента.

Колко голям може да е входът и мога ли да го преобразувам?

Входовете могат да са с размер до 5 MiB, а вложените масиви и вградените таблици — до 64 нива дълбочина. За да преобразувате валиден TOML в JSON, YAML или друг формат, използвайте преобразувателя на формати на данни.

За OneClick Pro

OneClick Pro е безплатна колекция от над 150 уеб инструмента за ежедневна работа: преобразуване на изображения и единици, форматиране и валидиране на код, проверка на домейни и SEO, както и работа с текст, дати и числа. Всеки инструмент работи без регистрация или абонамент, а въведеното от вас се използва само за изчисляване на резултата и никога не се съхранява. Използвайте го като бърз набор от инструменти за еднократни задачи или добавете в отметките инструментите, на които разчитате всеки ден.