Как пользоваться
- Вставьте файл TOML в поле Документ TOML или оставьте пример, который там есть.
- Прочитайте Проверку. Зелёный цвет означает, что файл соответствует TOML 1.0.0. Красный даёт строку и правило, которое файл нарушает.
- Скопируйте вывод JSON или скачайте его как data.json.
Как работает преобразование
Читатель следует грамматике TOML 1.0.0 и строит дерево, которое описывает спецификация. Затем дерево записывается как JSON с отступом в два пробела, а ключи сохраняют порядок файла, поэтому JSON читается так же, как TOML.
- Таблица и её подтаблицы становятся объектами JSON.
- Массив становится массивом JSON. Массив таблиц, который TOML записывает двойными скобками, становится массивом объектов JSON.
- Встроенная таблица становится объектом JSON. Её ключи сохраняют порядок строки.
Что JSON не может выразить
- Дата, время или дата со смещением становится текстом, например «1979-05-27T07:32:00-08:00». В JSON нет типа даты, а текст сохраняет смещение и все цифры дробной части.
- Бесконечность или NaN становится строкой «inf», «-inf» или «nan», потому что такого числа в JSON нет.
- Число с плавающей точкой без дробной части, например 1.0, записывается как 1.0, а целое, например 1, — как 1. Читатель JSON, который знает только один вид чисел, прочитает оба как одно и то же число.
Правила, которым следует проверка
Файл отклоняется, как только нарушает правило спецификации. Большинство ошибок вызывают эти правила:
- Ключ можно определить только один раз. Ключ без кавычек и ключ в кавычках с тем же именем — это один и тот же ключ.
- Заголовок таблицы определяет свою таблицу один раз. Таблицу, которую более длинный заголовок лишь подразумевал, можно определить позже, а таблицу, созданную ключами через точку или встроенной таблицей, — нельзя.
- Массив таблиц растёт на одну таблицу за каждый заголовок в двойных скобках. Статический массив, например записанный пустой парой скобок, так расти не может.
- Целое — это знаковое 64-битное число, от -9223372036854775808 до 9223372036854775807.
Пример: дата, число с плавающей точкой и большое целое
Каждая строка таблицы даёт одну строку TOML и значение JSON, которое инструмент записывает для неё. Запустите все четыре строки вместе, чтобы увидеть тот же результат в одном выводе.
| Строка TOML | Значение JSON |
|---|---|
| when = 1979-05-27T07:32:00-08:00 | "when": "1979-05-27T07:32:00-08:00" |
| ratio = 1.0 | "ratio": 1.0 |
| port = 8000 | "port": 8000 |
| id = 9223372036854775807 | "id": 9223372036854775807 |
Частые вопросы
Почему дата записывается в JSON текстом?
В JSON нет типа даты или времени, поэтому инструмент записывает текст, который хранится в файле TOML. Текст сохраняет смещение и все цифры дробной части, поэтому при чтении JSON ничего не теряется.
Почему 1.0 остаётся 1.0, а 1 остаётся 1?
TOML отличает целое от числа с плавающей точкой по точке или показателю степени, и JSON сохраняет это различие в записанных цифрах. Сохранит ли его читатель JSON, зависит от самого читателя.
Почему инструмент отклоняет таблицу, которая определена дважды?
TOML 1.0.0 позволяет заголовку таблицы определить свою таблицу один раз, а ключу — только один раз. Второе определение — ошибка в строке, где оно записано, поэтому в JSON никогда не окажется значения, которое противоречит файлу.
Сохраняются ли комментарии и порядок ключей?
Комментарии отбрасываются, потому что в JSON их нет. Порядок ключей сохраняется, так как члены записываются в порядке файла.
Можно ли перевести файл TOML с многострочным массивом?
Да. Массив может занимать несколько строк и заканчиваться запятой, как допускает TOML 1.0.0, а инструмент записывает его одним массивом JSON.
Отправляется ли вставленный текст куда-нибудь?
Нет. Преобразование выполняется в вашем браузере, и ничего из вставленного не сохраняется и не отправляется нам. Всё же не вставляйте пароль или токен на страницу, которой не доверяете.
Источники
Цифры и текст в последний раз проверены среда, 11 ноября 2026 г..