~/tools/toml/to-json

TOML

TOML to JSON Converter

Конвертировать TOML в JSON.

Как это работает

TOML любят за читаемость, особенно в мире Rust и питоновских pyproject.toml файлов. Но рано или поздно возникает ситуация, когда этот же конфиг нужно скормить какому нибудь JavaScript инструменту или API, который знает только про JSON и знать не знает, что такое TOML. TOML to JSON converter online закрывает именно этот разрыв, конвертируя конфиг за пару секунд без установки библиотек и парсеров себе на компьютер.

Формат TOML поддерживает довольно богатый набор типов: даты, время, вложенные таблицы, массивы таблиц. Все это при конвертации корректно превращается в соответствующие структуры JSON, даты становятся строками в ISO формате, таблицы превращаются во вложенные объекты, а массивы таблиц в массивы объектов.

Как и остальные инструменты на этом сайте, конвертер работает локально в браузере на JavaScript. Ни один байт вашего TOML файла никуда не отправляется, что особенно приятно, если в конфиге лежат данные подключения к базе или другие секреты, которые лучше лишний раз никуда не пересылать.

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

Почему toml validator ругается на дублирующийся ключ?

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

Как конвертируются даты toml в json?

TOML имеет нативный тип данных для дат и времени, а JSON такого типа не имеет вообще, поэтому даты превращаются в обычные строки в стандартном ISO формате, который потом легко распарсить обратно любым языком программирования.

Можно ли конвертировать массив таблиц toml, начинающийся с двойных квадратных скобок?

Да, массивы таблиц корректно превращаются в JSON массив, где каждый элемент это отдельный объект со своими полями, ровно как задумано в спецификации TOML.

Работает ли конвертер с вложенными таблицами через точку в имени?

Да, вложенность через точку в названии таблицы разворачивается в соответствующую иерархию вложенных объектов JSON, точно как если бы вы явно расписали каждый уровень.