Перевести YAML в JSON
Текст обрабатывается в браузере и не отправляется на сервер.
Переводит YAML в JSON: якоря и ключи слияния раскрываются, несколько документов собираются в массив. Ошибки YAML показаны на русском с номером строки и столбца.
Вставьте данные или откройте файл: дерево и перевод в другие форматы появятся здесь.
Дальше обычно делают
Зачем переводить YAML в JSON
YAML и JSON хранят одни и те же данные: списки, объекты, строки и числа. YAML удобен людям — в нём отступы вместо скобок и можно писать комментарии, поэтому на нём сделаны настройки docker-compose, Kubernetes, CI и описания API. JSON удобен программам: его принимают API, а многие языки программирования читают его без дополнительных библиотек.
Перевод нужен, когда настройки из YAML надо передать программе или API, которые принимают только JSON, вставить в запрос или разобрать скриптом. Ещё это способ понять, что на самом деле записано в сложном YAML: якоря и ключи слияния в JSON уже раскрыты, и видно, какое значение получит каждый ключ. Если YAML не переводится, ошибка с номером строки покажет, где сбился отступ.
Как пользоваться
Вставьте YAML в поле слева или откройте файл .yaml или .yml.
Справа откроется JSON. Если в YAML ошибка, строка под полем покажет её место на русском.
Скопируйте или скачайте JSON. Отступ выбирается в «Настройках».
Пример
base: &base
image: nginx:1.27
restart: always
web:
<<: *base
ports:
- "80:80"{
"base": {
"image": "nginx:1.27",
"restart": "always"
},
"web": {
"image": "nginx:1.27",
"restart": "always",
"ports": [
"80:80"
]
}
}Вопросы и ответы
Что происходит с якорями и `<<`?
Ссылка *base заменяется значением якоря, а ключ слияния <<: *base добавляет ключи базы в объект, как это делают docker-compose и системы CI. Если ключ задан и в базе, и в самом объекте, остаётся значение объекта.
Куда деваются комментарии?
В JSON комментариев нет, поэтому при переводе они теряются — об этом сказано под результатом. В самом поле слева комментарии остаются, и «Форматировать» их не трогает.
Что, если в файле несколько документов через `---`?
Документы собираются в массив JSON по порядку: первый документ — первый элемент. Под результатом указано, сколько документов найдено.
Как переводятся теги вроде `!Ref` из CloudFormation?
Значение переводится без тега, а строка под полем предупреждает: «Неизвестный тег: значение взято без тега». Для !Ref Bucket в JSON попадёт "Bucket".
Задача сложнее инструмента
Архитектуру и интеграции с API можно обсудить на консультации: выберите время, и вы получите письменный итог с конкретными шагами.
Записаться на консультацию