Читает YAML 1.2 с якорями и псевдонимами (&base, *base), ключами слияния, блочными скалярами | и > и несколькими документами через ---, которые становятся массивом JSON. Ошибки отступов и табуляции показываются со строкой и столбцом — удобно проверить конфиг CI до push.
Как пользоваться
- Вставьте данные, перетащите или откройте файл. Входной формат определяется автоматически, либо выберите его в поле «Из».
- Выберите выходной формат в поле «В». Результат обновляется по мере ввода.
- Ошибки показываются с точной строкой и столбцом и указателем; нажмите на ошибку, чтобы перейти к ней.
- На вкладке «Дерево» можно изучить данные. Скопируйте или скачайте результат, либо поменяйте форматы местами для обратной конвертации.
- Атрибуты XML становятся ключами с @, текст элемента попадает в #text; то же правило действует при создании XML.
- CSV на выходе разворачивает вложенные объекты в столбцы через точку (address.city). В скачанный файл добавляется BOM, чтобы Excel правильно открыл UTF-8.
- В TOML нет null, а на верхнем уровне нужна таблица: null пропускаются, списки помещаются в «items».
- Отключите «Распознавать типы», чтобы все значения из CSV, XML, INI, .env или query string оставались строками.
- Всё работает в браузере, ничего не загружается на сервер.
Как форматы соотносятся друг с другом
У JSON, YAML и TOML одна модель данных: объекты, массивы, строки, числа и логические значения, поэтому конвертация между ними обходится без потерь, за двумя исключениями: в TOML нет null, а документ TOML на верхнем уровне должен быть таблицей. Здесь null опускаются, а список на верхнем уровне оборачивается в ключ items. YAML 1.2 — надмножество JSON, так что любой корректный JSON уже является корректным YAML.
XML — это дерево элементов, а не пары ключ-значение. Атрибуты становятся ключами с префиксом @ (id="7" превращается в "@id": "7"), текст элемента попадает в #text, а повторяющиеся дочерние элементы становятся массивами. При записи XML то же соглашение работает в обратную сторону.
Плоские форматы: CSV, INI, .env и query string
CSV — это таблица, поэтому вложенные объекты разворачиваются в столбцы с точечной записью вроде address.city, а каждый элемент массива становится строкой. Секции INI превращаются в объекты, .env — в плоский объект пар ключ-значение (export, кавычки и комментарии понимаются), а query string вида ?tag=a&tag=b&filter[brand]=x — в {"tag": ["a", "b"], "filter": {"brand": "x"}}.
Типы и частые ловушки
В CSV, XML, INI, .env и query string нет типов — всё это текст. По умолчанию значения вроде 42, 3.5 и true превращаются в числа и логические значения; отключите это, чтобы сохранить как текст коды вроде 001234 и идентификаторы. В YAML отступы значимы, а табуляция запрещена. Парсеры YAML 1.1, например PyYAML, читают yes, no, on и off без кавычек как логические значения, поэтому берите в кавычки значения вроде кода страны NO.
Частые вопросы
Как перевести JSON в YAML?
Вставьте JSON или перетащите файл .json и выберите YAML в поле «В». Объекты станут блоками ключ: значение с отступами, массивы — списками с дефисами. Скопируйте результат или скачайте .yaml.
Любой корректный JSON — это корректный YAML?
Да, для YAML 1.2, который задуман как надмножество JSON. Конвертировать всё равно полезно: блочный YAML легче читать, и в нём можно писать комментарии.
Что происходит с атрибутами XML при переводе в JSON?
Они становятся ключами с префиксом @: <item id="7">Pen</item> превращается в {"item": {"@id": "7", "#text": "Pen"}}. Повторяющиеся элементы с одним именем собираются в массив.
Как вложенные объекты JSON попадают в CSV?
Они разворачиваются в столбцы с точечной записью, например address.city и address.zip. Массив объектов даёт по строке на объект, готовую для Excel.
Почему в выводе TOML пропал null?
В TOML нет значения null. Ключи со значением null опускаются, поэтому проверьте, что ваше приложение одинаково обрабатывает отсутствующий ключ.
Загружаются ли мои данные на сервер?
Нет. Разбор и конвертация идут локально в браузере, так что конфиги с паролями и API-ключами не покидают устройство.