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

Превратите файлы YAML в корректный JSON.

Работает в браузере. То, что вы вводите, никуда не отправляется.

Как конвертировать YAML в JSON

  1. Вставьте свой YAML или загрузите файл .yaml или .yml.
  2. Исправьте любую ошибку по указанной строке и столбцу.
  3. Скопируйте JSON или скачайте его.

Пример: YAML на входе, JSON на выходе

Строка YAMLJSON
name: Sam"name": "Sam"
age: 30"age": 30
active: true"active": true
tags: [a, b]"tags": ["a", "b"]

Возможности YAML, которые здесь сохраняются

  • Якоря (&name) и алиасы (*name) разворачиваются в полные копии значения, на которое ссылаются.
  • Флоу-стиль, вроде встроенного {a: 1} или [1, 2], разбирается так же, как эквивалентный блочный стиль.
  • Несколько документов, разделённых строкой из трёх дефисов, становятся одним JSON-массивом, по порядку.
  • Комментарии, начинающиеся с #, отбрасываются, ведь в JSON нет синтаксиса комментариев, куда их можно перенести.

Частые ошибки YAML

СимптомВероятная причина
Ошибка неверного отступаСимвол табуляции или строка со сдвигом на один пробел от предыдущей
Неожиданный конец потокаКавычка или скобка, оставленная открытой где-то раньше
Значение неожиданно становится true или falseГолое yes, no, on или off, написанное без кавычек

Где помогает YAML в JSON

  • Чтение точных значений манифеста Kubernetes в формате, который уже понимает ваш скрипт.
  • Отладка файла CI-пайплайна через просмотр его разобранной структуры вместо необработанных отступов.
  • Передача конфигурации YAML в инструмент или API, который принимает только JSON.

Частые вопросы о YAML в JSON

Что происходит с несколькими документами YAML в одном файле?

Документы, разделённые строкой из трёх дефисов, конвертируются по отдельности и возвращаются вместе как один JSON-массив, по порядку.

Почему я получаю ошибку неверного отступа?

YAML определяет структуру по отступам, поэтому строка со сдвигом на один пробел или табуляция вместо пробелов ломают разбор. В ошибке названы строка и столбец, а "Перейти к ошибке" выделяет их.

Поддерживаются ли якоря и алиасы?

Да. Значение, отмеченное якорем с амперсандом и повторно используемое через алиас со звёздочкой, копируется в каждое место использования.

Что происходит с датами?

Даты вроде 2024-05-01 сохраняются как текст, ведь в JSON нет типа даты.

Можно вставить YAML, где отступ сделан табуляцией?

Нет. YAML требует пробелы для отступов, поэтому табуляция вызывает ошибку неверного отступа на точной строке. Замените её на 2 пробела и попробуйте снова.

Что происходит с повторяющимся ключом в карте YAML?

Побеждает последнее записанное значение для повторяющегося ключа, ведь именно так базовый парсер разрешает карту перед превращением её в JSON.

Можно конвертировать файл YAML, который подключает другой файл?

Нет. Пользовательские теги вроде !include, которые используют некоторые обработчики YAML, зависят от доступа к файловой системе, которого нет у этого браузерного инструмента. Обычный YAML без пользовательских тегов конвертируется нормально.

Обрабатываются ли явные теги типов, вроде !!str или !!int?

Да, распространённые явные теги читаются и конвертируются в соответствующий тип JSON вместо угадывания по форме значения.

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