TOML Array of Tables Flattener
Развернуть массив таблиц TOML в плоский список объектов.
Как это работает
Массив таблиц в TOML, обозначенный двойными квадратными скобками, штука не самая интуитивная для тех, кто привык к YAML или JSON: несколько блоков с одинаковым именем таблицы подряд на самом деле собираются в один список объектов. Toml array of tables flattener online берет такой файл и явно показывает итоговый плоский список, как он реально выглядит после парсинга.
Инструмент решает практическую задачу развернуть массив таблиц toml в плоский список объектов JSON, что особенно полезно для отладки конфигов Cargo.toml с несколькими зависимостями воркспейса или любых других TOML файлов, где array of tables используется для описания повторяющихся сущностей.
Работает локально в браузере, весь текст TOML файла остается у вас, что уместно, если в конфиге лежат данные вроде списка внутренних сервисов с их адресами, которые не стоит лишний раз пересылать куда-либо.
Частые вопросы
Чем массив таблиц toml с двойными скобками отличается от обычной таблицы с одинарными?
Одинарные квадратные скобки задают ровно одну таблицу с уникальным именем, а двойные скобки означают элемент массива, несколько блоков с одинаковым именем в двойных скобках подряд собираются в один список объектов по порядку появления в файле.
Можно ли развернуть вложенный массив таблиц, где внутри одного элемента есть свой array of tables?
Да, вложенность разбирается рекурсивно на любую глубину, вложенный array of tables внутри элемента верхнего уровня корректно превращается во вложенный список внутри соответствующего объекта результата.
Что если в файле только одна обычная таблица без двойных скобок?
Инструмент корректно обработает и такой случай, результатом будет обычный объект, а не массив, потому что признаков массива таблиц в файле попросту нет.
Полезен ли этот инструмент для отладки Cargo.toml с несколькими зависимостями?
Да, это довольно частый практический сценарий, массив таблиц dependencies или workspace members удобно посмотреть в явном плоском виде, особенно если файл большой и сложно уследить глазами за границами блоков.