DevToolPal
RU

Конвертер TOML в JSON

Преобразование TOML в JSON и JSON в TOML: таблицы, массивы таблиц, встроенные таблицы и даты, с точным указанием ошибок.

Работает локально, без загрузки на сервер

Параметры

Направление
Отступ JSON

Ввод

Символов: 0 · 0 B

Результат

Символов: 0 · 0 B

Что делает инструмент

Этот инструмент преобразует TOML в JSON и JSON обратно в TOML. TOML — формат конфигурации, на котором построены Cargo.toml в Rust, pyproject.toml в Python, Hugo, Netlify, Deno и многие другие инструменты. Людям его легко редактировать, но большинство скриптов, API и валидаторов ожидают JSON. Преобразование позволяет изучить конфигурацию инструментами для JSON, передать её программе или превратить данные JSON в аккуратный файл конфигурации.

Как пользоваться

  1. Вставьте TOML в поле ввода, перетащите на него файл .toml или нажмите Пример.
  2. JSON появляется по мере ввода. Выберите отступ в 2 или 4 пробела.
  3. Переключите Направление на JSON → TOML, чтобы преобразовать в обратную сторону. JSON на верхнем уровне должен быть объектом, потому что документ TOML — это всегда таблица.
  4. Скопируйте или скачайте результат.

Если в TOML есть ошибка, в сообщении указаны строка и столбец, а щелчок по нему переносит к нужному месту. Частые ошибки — пропущенная закрывающая кавычка, повторное определение одного и того же ключа или таблицы и строка без кавычек справа от =.

Пример

Входной TOML:

[server]
host = "0.0.0.0"
port = 8080

[[users]]
name = "Alice"
roles = ["admin", "editor"]

Результат в JSON:

{
  "server": { "host": "0.0.0.0", "port": 8080 },
  "users": [{ "name": "Alice", "roles": ["admin", "editor"] }]
}

[server] становится вложенным объектом, а каждый блок [[users]] добавляет один элемент в массив users.

Соответствие типов

  • Строки, целые числа, числа с плавающей точкой и логические значения переносятся напрямую. Большие целые числа за пределами безопасного диапазона JavaScript теряют точность, поэтому храните идентификаторы в виде строк.
  • Массивы становятся массивами, а таблицы и встроенные таблицы — объектами.
  • Дата-время со смещением, локальные дата-время, локальные даты и локальное время становятся строками ISO 8601.
  • В обратном направлении у null нет эквивалента в TOML, и он выводится как ошибка с указанием пути. Вложенные объекты становятся секциями [table], а массивы объектов — секциями [[array]].

Частые вопросы

› Загружается ли мой файл TOML на сервер?

Нет. Разбор и преобразование полностью выполняются в вашем браузере, поэтому манифесты Cargo, файлы pyproject и конфигурации с секретами не покидают ваше устройство.

› Какая версия TOML поддерживается?

TOML 1.0, включая таблицы, массивы таблиц, встроенные таблицы, многострочные строки, даты и время, а также шестнадцатеричные, восьмеричные и двоичные целые числа.

› Как даты TOML преобразуются в JSON?

В JSON нет типа даты, поэтому даты и время превращаются в строки ISO 8601. Например, 2026-10-08 остаётся "2026-10-08", а 1979-05-27T07:32:00Z становится "1979-05-27T07:32:00.000Z".

› Почему преобразование JSON в TOML падает на null?

В TOML нет значения null. Инструмент останавливается и сообщает путь к первому null, например database.password, чтобы вы могли удалить ключ или задать ему значение.

› Сохраняются ли комментарии?

Нет. Комментарии в TOML отбрасываются, потому что JSON не может их хранить, а в JSON нет комментариев, которые можно было бы перенести в TOML.