Конвертер JSON в YAML

Вставьте JSON и получите аккуратный YAML для манифестов Kubernetes, Docker Compose, GitHub Actions или любого конфигурационного файла. Обе панели остаются редактируемыми и синхронизированы.

Обновлено
Отступ YAML
Отступ JSON
Открыть файл

Обе панели можно редактировать: измените любую из них, и другая мгновенно обновится.

Ваши данные никогда не покидают ваш компьютер. Вся обработка выполняется на 100% локально в вашем браузере.

Был ли этот инструмент полезен?0.0 Оценок: 0
Конвертер YAML в JSON онлайн бесплатноЯкоря, merge-ключи, файлы с несколькими документами.YAML в JSON →

Как пользоваться: JSON в YAML

  1. Вставьте JSON в панель JSON, откройте файл .json или нажмите Загрузить пример.
  2. Панель YAML обновляется мгновенно. Выберите отступ YAML в 2 или 4 пробела и при необходимости включите сортировку ключей или заключение всех строк в кавычки.
  3. При желании отредактируйте YAML напрямую — панель JSON тоже обновится.
  4. Нажмите Копировать или Скачать, чтобы сохранить data.yaml.

Что делает конвертер JSON в YAML?

Он разбирает документ JSON и заново сериализует те же данные в формате YAML. Поскольку YAML 1.2 является надмножеством JSON, каждое значение JSON имеет точный эквивалент в YAML: объекты становятся отображениями, массивы — последовательностями (- элемент), а строки, числа, логические значения и null сохраняют свой тип. Результат обычно на 20–40% короче и гораздо удобнее для чтения и ручного редактирования, поэтому YAML стал стандартом для Kubernetes, Docker Compose, GitHub Actions, Ansible и спецификаций OpenAPI.

Пример

Этот JSON:

{
  "service": "api",
  "replicas": 3,
  "ports": [8080, 9090],
  "env": {"LOG_LEVEL": "info"}
}

превращается в такой YAML:

service: api
replicas: 3
ports:
  - 8080
  - 9090
env:
  LOG_LEVEL: info

Как заключаются в кавычки строки

Конвертер (на основе широко используемой библиотеки js-yaml) добавляет кавычки только там, где это нужно, чтобы значение осталось строкой. Значения вроде "yes", "on", "123", "null" или "2024-01-01" берутся в кавычки, потому что записанное без кавычек yes парсеры YAML 1.1 прочитают как логическое значение (это известная «проблема Норвегии»: код страны NO превращается в false). Кавычки также ставятся для строк, содержащих : , # или начальные пробелы. Многострочные строки записываются как блочные скаляры с буквальным стилем (|-), поэтому переносы строк остаются читаемыми. Включите опцию Заключать все строки в кавычки, если последующий инструмент ожидает, что все строки будут в кавычках.

JSON и YAML: краткое сравнение

JSONYAML
КомментарииНе допускаются# комментарий
СтруктураФигурные и квадратные скобкиОтступы
КавычкиОбязательны для ключей и строкОбычно необязательны
Многострочные строкиЭкранирование \nБлочные скаляры | и >
Повторное использованиеНетЯкоря & и алиасы *
Лучше всего дляAPI, обмена даннымиКонфигураций, которые редактирует человек

Советы по конфигурационным файлам

В YAML отступы должны быть пробелами, а не табуляцией. Два пробела — стандарт для Kubernetes и большинства CI-систем. После конвертации можно добавить комментарии, чтобы пояснить настройки, — JSON этого не позволяет. Для обратного преобразования используйте конвертер YAML в JSON, а чтобы сначала привести JSON в порядок, обработайте его через форматировщик JSON.

Также ищут как: json в yml, json2yaml, генератор yaml для kubernetes.

Инструменты, которые хорошо сочетаются с JSON в YAML

  • JSON в CSV — Превратите JSON-массив в CSV-таблицу, которую удобно открыть в электронной таблице.
  • JSON в TypeScript — Вставьте образец JSON, например ответ API или конфиг, и получите готовые интерфейсы TypeScript с вложенными типами, необязательными свойствами и union-типами.
  • Валидатор JSON Schema — Вставьте схему и JSON, чтобы увидеть, какие значения нарушают какие правила, или сгенерируйте стартовую схему по примеру данных.
  • Тестер JSONPath — Введите запрос JSONPath и сразу увидите, что он выбирает, с точным путём каждого совпадения.

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

YAML является надмножеством JSON?
Да, начиная с YAML 1.2 (2009) любой валидный документ JSON также является валидным YAML. Поэтому конвертация не теряет данных: данные и типы остаются теми же, меняется только синтаксис.
Почему некоторые строки в выводе YAML взяты в кавычки?
Строки вроде "yes", "off", "0123" или "1.0" без кавычек были бы интерпретированы как логические значения или числа, поэтому их заключают в кавычки, чтобы сохранить как строки.
Можно ли конвертировать JSON в YAML для Kubernetes?
Да. Вставьте JSON-вывод команды kubectl get … -o json и получите YAML, который можно сохранить как манифест. Перед повторным применением удалите поля, генерируемые сервером, например status, uid и resourceVersion.
Отправляются ли мои данные куда-либо?
Нет. Конвертация выполняется в вашем браузере с помощью библиотеки js-yaml с открытым исходным кодом; ничего не загружается на сервер.
Можно ли установить JSON в YAML как веб-приложение и пользоваться им офлайн?
Да. JSON в YAML — это веб-приложение (PWA), которое можно установить из браузера, без скачивания из магазина приложений. В Chrome или Edge (Windows, macOS, Linux, ChromeOS) или на Android нажмите вверху этой страницы «Установить приложение»; на iPhone и iPad используйте «Поделиться → На экран «Домой»», а в Safari 17+ на Mac — «Файл → Добавить в Dock». После этого приложение откроется в отдельном окне со своим значком, и так как оно полностью работает в браузере, оно продолжит работать офлайн. Firefox на компьютере не умеет устанавливать веб-приложения. Как работает установка.

Похожие инструменты

localYAML в JSONВставьте YAML — файл Compose, манифест Kubernetes или конфиг CI — и получите отформатированный JSON.…localJSON форматтерВставьте JSON, чтобы отформатировать, минифицировать или проверить его. Ошибки указываются с точной…localJSON в CSVПревратите JSON-массив в CSV-таблицу, которую удобно открыть в электронной таблице. Вложенные объекты…localJSON в TypeScriptВставьте образец JSON, например ответ API или конфиг, и получите готовые интерфейсы TypeScript с…localВалидатор JSON SchemaВставьте схему и JSON, чтобы увидеть, какие значения нарушают какие правила, или сгенерируйте стартовую…localТестер JSONPathВведите запрос JSONPath и сразу увидите, что он выбирает, с точным путём каждого совпадения. Удобно для…