Конвертер и Форматтер YAML ↔ JSON
Конвертируйте между форматами YAML и JSON или форматируйте и проверяйте YAML. Автоматически определяет формат ввода. Бесплатно и работает полностью в вашем браузере.
Как использовать
- Вставьте ваш YAML или JSON в поле ввода — инструмент автоматически определит формат
- Нажмите «В JSON», чтобы конвертировать в JSON, или «В YAML», чтобы конвертировать в YAML
- Используйте «Форматировать YAML», чтобы привести YAML-документ в порядок без конвертации
- Используйте «Минифицировать», чтобы получить компактный однострочный JSON
- Настройте селектор отступов для управления форматированием вывода
- Нажмите «Копировать», чтобы скопировать результат, или «Очистить», чтобы сбросить
Часто задаваемые вопросы
-
Что такое YAML?
YAML (YAML Ain't Markup Language) — это удобочитаемый формат сериализации данных, широко используемый для файлов конфигурации, конвейеров CI/CD и манифестов Kubernetes. Для представления структуры он использует отступы вместо фигурных скобок.
-
Когда стоит использовать YAML вместо JSON?
Используйте YAML для файлов конфигурации и файлов, которые люди будут читать или редактировать напрямую, поскольку он поддерживает комментарии и менее многословен. Используйте JSON для ответов API и обмена данными, так как он более универсально поддерживается и строго определён.
-
Может ли YAML представить всё, что может JSON?
Да. JSON является подмножеством YAML — любой допустимый JSON также является допустимым YAML. YAML дополнительно поддерживает комментарии, многострочные строки, якоря и псевдонимы.
-
Мои данные отправляются на сервер?
Нет. Вся конвертация выполняется полностью в вашем браузере с использованием библиотеки js-yaml. Ваши данные никогда не покидают ваше устройство.
-
Что произойдёт, если входные данные некорректны?
Под кнопками появится сообщение об ошибке с точным указанием места, где не удалось выполнить разбор, чтобы вы могли быстро найти и устранить проблему.
YAML и JSON: для каких задач каждый формат лучше
YAML и JSON решают одну задачу — хранение структурированных данных — но оптимизированы для разных сценариев использования. Понимание различий помогает выбрать правильный формат в конкретном контексте.
Когда выбирать YAML
Файлы конфигурации, редактируемые людьми
YAML создан для удобочитаемости. Файлы конфигурации Kubernetes, Docker Compose, GitHub Actions, Ansible — везде используется YAML именно потому, что его пишут и правят люди. Отступы вместо скобок, опциональные кавычки, поддержка комментариев делают большие конфиги значительно читаемее.
Конфигурации с комментариями
JSON не поддерживает комментарии — это принципиальное ограничение формата. YAML позволяет документировать конфигурацию прямо в файле:
база_данных:
# Адрес primary-реплики
хост: db.example.com
# Порт по умолчанию для PostgreSQL
порт: 5432
Многострочные текстовые данные
YAML элегантно обрабатывает многострочные строки через блочные скалярные стили (| и >), тогда как в JSON многострочный текст требует явного \n и экранирования.
Когда выбирать JSON
API и межсервисный обмен данными
JSON является стандартом для REST API и GraphQL. Он строго определён, не допускает неоднозначностей и имеет нативную поддержку во всех языках программирования и инструментах (curl, Postman, браузерные DevTools).
Данные, обрабатываемые только машинами
Если данные никогда не будут редактироваться вручную, преимущества читаемости YAML не нужны. JSON компактнее, быстрее парсится и однозначнее.
Строгая типизация
В JSON тип данных однозначен: строка всегда в кавычках, число — без. В YAML yes, no, on, off могут интерпретироваться как булевы значения (зависит от версии спецификации), 1.0 может стать числом с плавающей точкой, а 2024-01-15 — объектом Date. Это источник тонких ошибок при конвертации.
Важные нюансы при конвертации
Потеря комментариев
При конвертации YAML → JSON все комментарии безвозвратно теряются. Это нормально, если цель — машинная обработка, но важно помнить при двусторонней конвертации.
Якоря и псевдонимы
YAML-якоря (&anchor) при конвертации в JSON раскрываются в полные копии объектов. Если якорь использовался для избежания повторений, результирующий JSON будет содержать дублирующиеся данные.
Ключи с нестандартными символами
YAML допускает ключи без кавычек, содержащие пробелы и некоторые специальные символы. При конвертации в JSON они заключаются в кавычки — это корректно, но структура может выглядеть непривычно.
Числа и булевы значения
Строка "true" в JSON — это строка. В YAML true без кавычек — булево значение. При конвертации JSON → YAML строка "true" остаётся строкой, но true (без кавычек) станет булевым. Проверяйте типы данных при конвертации в обе стороны.
Практические сценарии конвертации
- Helm-чарты в Kubernetes: иногда нужно быстро проверить, как YAML-манифест будет выглядеть в JSON для отправки в API
- Миграция конфигураций: перевод конфига приложения из JSON в YAML для удобного редактирования
- Отладка: конвертация YAML в JSON для использования в JSON Path-запросах или jq
- OpenAPI/Swagger: спецификации поддерживают оба формата, иногда нужно переключиться между ними