Парсер TOML

Мгновенный разбор и преобразование TOML (Tom's Obvious Minimal Language) в JSON. Вся обработка выполняется в вашем браузере для максимальной безопасности и конфиденциальности.

Мгновенный разбор Полная поддержка TOML Обработка на стороне клиента
Разобранный JSON появится здесь...

Как использовать парсер TOML

1

Вставьте TOML

Введите или вставьте содержимое конфигурации TOML в область ввода.

2

Разбор

Нажмите кнопку «Разобрать» или содержимое будет разобрано автоматически.

3

Копирование JSON

Просмотрите сгенерированный вывод JSON и скопируйте его в буфер обмена.

Что такое TOML?

TOML (Tom's Obvious Minimal Language) — это минимальный формат конфигурационных файлов, который легко читать благодаря очевидной семантике. Созданный Томом Престон-Вернером, TOML разработан для однозначного отображения в хеш-таблицу и используется в проектах, таких как Cargo для Rust, pip для Python и генератор статических сайтов Hugo.

Возможности TOML

Пары «ключ-значение»

Простой синтаксис ключ = значение для базовых типов

Таблицы (секции)

Организация конфигурации с заголовками [секция]

Массивы и встроенные таблицы

Поддержка массивов, вложенных таблиц и синтаксиса встроенных таблиц

Часто задаваемые вопросы

Какие типы поддерживает TOML?

TOML поддерживает строки, целые числа, числа с плавающей точкой, логические значения, дату/время, массивы и таблицы (хеш-отображения). Также поддерживаются встроенные таблицы и многострочные строки.

Чем TOML отличается от JSON или YAML?

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

Безопасно ли использовать этот инструмент с конфиденциальными данными?

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

Как работают таблицы TOML и массивы таблиц?

[server] открывает таблицу; [server.tls] вкладывает в неё вложенную таблицу; а [[products]] начинает массив таблиц, где каждый повторный заголовок [[products]] добавляет новый элемент — это стандартный приём для списков записей в конфигурационных файлах. Отступы носят косметический характер; структура определяется заголовками в квадратных скобках.

Как TOML работает с датами и временем?

В TOML 1.0 есть четыре типа данных даты и времени: дата-время со смещением (1979-05-27T07:32:00Z, формат RFC 3339), локальная дата-время без смещения, локальная дата (1979-05-27) и локальное время (07:32:00). Метки времени — полноценные значения первого класса: никаких кавычек и разбора строк, что устраняет целый класс ошибок конфигурации, которые порождают строковые даты в JSON или YAML.

Почему для конфигурации стоит выбрать TOML вместо INI или JSON?

По сравнению с INI: TOML имеет настоящую спецификацию, типизированные значения (целые и дробные числа, логические значения, даты, массивы) и чистую вложенность вместо соглашений о ключах с точками. По сравнению с JSON: комментарии, многострочные строки и отсутствие ловушек с висячими запятыми. JSON по-прежнему лучше подходит для обмена данными между программами; TOML нацелен именно на конфигурацию, написанную человеком.

Какие экосистемы используют TOML?

Cargo в Rust (Cargo.toml) сделал формат популярным; Python стандартизировал его для конфигурации сборки (pyproject.toml, PEP 518); также он встречается в Hugo, Netlify и многих CI-системах. Формат поддерживается организацией toml-lang с набором тестов на соответствие спецификации — одна из причин, почему парсеры в разных языках дают согласованные результаты.

Как работают многострочные и литеральные строки в TOML?

Тройные двойные кавычки охватывают несколько строк с реальными переводами строк и поддерживают обратный слэш в конце строки, который обрезает пробельные символы; тройные одинарные кавычки делают то же самое, но вовсе без обработки escape-последовательностей. Литеральные строки в одинарных кавычках тоже полностью игнорируют escape-последовательности — идеально для путей Windows (C:\Users\name) и regex-шаблонов, где иначе пришлось бы удваивать каждую обратную косую черту.

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}

Авторитетные источники

Первоисточники, лежащие в основе этого инструмента, — официальные стандарты и спецификации, а не пересказы из вторых рук.