Перейти к содержимому

Преобразовать YAML в JSON

Этот инструмент преобразует файл YAML в JSON прямо в браузере - для манифеста Kubernetes, файла Docker Compose или пайплайна CI, где скрипту нужно прочитать данные как JSON. Типы следуют базовой схеме YAML 1.2: число, true, false и null сохраняют свой тип, а on, yes, no и дата вроде 2024-01-01 остаются строками - так же их читают GitHub Actions и большинство современных инструментов. Якорь, алиас и ключ слияния (<<) разрешаются, и каждый алиас разворачивается как полная копия, потому что в JSON нет ссылок; файл, чьи алиасы добавили бы больше десяти миллионов символов, или алиас, ссылающийся сам на себя, отклоняется. Файл с несколькими документами, разделёнными ---, даёт один файл JSON на документ по порядку, а пустой документ, например оставшийся после завершающего ---, пропускается. Комментарии - не данные и отбрасываются. Ваш файл никуда не загружается.

Работает в вашем браузере

Перетащите файл сюда

YAML, до 50 МБ

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

  1. 1 Выберите файл YAML.
  2. 2 Задайте отступ от 0 до 8 пробелов. По умолчанию 2, значение 0 минифицирует.
  3. 3 GRID16 разбирает документ и преобразует его в вашем браузере.
  4. 4 Скачайте JSON.

Вопросы

Преобразуются ли числа и логические значения?
Да, по базовой схеме YAML 1.2: число, true, false и null сохраняют свой тип. Но on, yes, no и дата вроде 2024-01-01 остаются строками, потому что именно так их читают GitHub Actions и большинство современных инструментов.
Что происходит с якорями, алиасами и ключами слияния?
Они разрешаются, и каждый алиас разворачивается как полная копия, потому что в JSON нет ссылок. Файл, чьи алиасы добавили бы больше десяти миллионов символов, или алиас, ссылающийся сам на себя, отклоняется.
Что происходит с файлом, который содержит несколько документов?
Каждый документ, разделённый ---, становится отдельным файлом JSON, пронумерованным по порядку. Пустой документ, например оставшийся после завершающего ---, пропускается.
А как насчёт пользовательского тега вроде !Ref или !reference?
Обработка отклоняется. Тег вроде !Ref из CloudFormation или !reference из GitLab несёт смысл, который может разрешить только их собственный инструмент.
Что происходит с неверным YAML или с .inf и .nan?
Повторяющийся ключ, нарушенные отступы или другой неверный YAML останавливают обработку с сообщением парсера, включая строку и столбец. .inf, -.inf и .nan тоже отклоняются, потому что JSON не может их хранить.
Мой файл загружается на сервер?
Нет. Преобразование идёт в браузере, файл не покидает ваше устройство.