Как пользоваться
- Вставьте объект JSON в поле Объект JSON. Весь текст должен быть одним объектом в фигурных скобках наверху.
- Прочитайте Проверка. Зелёный цвет означает, что объект преобразован; красный называет имя, где проблема, и причину.
- Скопируйте вывод TOML в файл или скачайте его как config.toml.
Как устроен TOML
Сначала записываются значения каждой таблицы, а её подтаблицы идут после них. TOML требует такого порядка: значения таблицы должны стоять перед заголовками её подтаблиц. Имена сохраняют порядок JSON.
- Объект внутри объекта становится таблицей со своим заголовком, например [owner], а её значения идут после заголовка.
- Список объектов становится массивом таблиц: отдельный раздел для каждого объекта, с заголовком в двойных квадратных скобках.
- Список чисел или текста остаётся в одной строке в квадратных скобках, что допускает TOML.
- Число с точкой или с порядком записывается как число с плавающей точкой, поэтому 1.0 остаётся 1.0. Число без них записывается как целое.
Что TOML не может хранить
- null. В TOML нет null, поэтому имя с null останавливает преобразование и называется в сообщении. Удалите имя или задайте ему значение.
- Целое число вне знакового 64-битного диапазона. JSON допускает любой размер, а TOML ограничен числом 9223372036854775807.
- Верхний уровень, который является списком или отдельным значением. Документ TOML всегда таблица, поэтому JSON должен быть объектом.
Имена, которым нужны кавычки
Имя, состоящее только из букв, цифр, знаков подчёркивания и дефисов, записывается как есть. Любое другое имя, например с пробелом или точкой, записывается в двойных кавычках, и пустое имя тоже. Кавычки, обратные косые черты и управляющие символы в тексте экранируются так, как требует TOML.
Пример: список, число с плавающей точкой и объект
JSON ниже даёт по одному значению каждого вида, которые записывает инструмент. В каждой строке таблицы указаны значение JSON и строка TOML, в которую оно превращается.
| Значение JSON | Строка TOML |
|---|---|
| "ports": [8000, 8001] | ports = [8000, 8001] |
| "ratio": 1.0 | ratio = 1.0 |
| "owner": {"name": "Анна"} | [owner], затем name = "Анна" |
Частые вопросы
Почему значения таблицы стоят раньше её подтаблиц?
TOML требует, чтобы собственные значения таблицы шли раньше заголовков её подтаблиц. Инструмент записывает значения первыми, поэтому файл читается правильно и выглядит так, как написал бы его человек.
Почему одно число записано как 1.0, а другое как 1?
Число JSON с точкой или порядком, например 1.0 или 2e3, в TOML — число с плавающей точкой, а число без них — целое. Инструмент сохраняет эту разницу, поэтому число с плавающей точкой никогда не записывается как целое.
Почему null останавливает преобразование?
В TOML нет значения null, поэтому инструмент не может записать его без изменения данных. Удалите имя, которое содержит null, или задайте ему значение, например пустую строку, и преобразуйте снова.
Становится ли дата в JSON датой TOML?
Нет. Дата в JSON — это строка, а строка остаётся строкой, поэтому в TOML дата сохраняется в кавычках. Если файлу TOML нужно настоящее значение даты, поменяйте кавычки вручную.
Отправляется ли вставленный JSON куда-нибудь?
Нет. Преобразование выполняется в вашем браузере, и ничего из вставленного не сохраняется и не отправляется нам. Всё же не вставляйте пароль или токен на страницу, которой не доверяете.
Источники
- Спецификация TOML v1.0.0 (на английском)
- RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format (на английском)
Цифры и текст в последний раз проверены среда, 11 ноября 2026 г..