Перейти к контенту
SPCXTools

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

Конвертируйте конфигурационные файлы между YAML и JSON в обоих направлениях с проверкой синтаксиса.

Работает локально — файлы не покидают ваше устройство

Загрузка инструмента…

Как использовать Конвертер YAML в JSON

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

Конвертация YAML в JSON и обратно

YAML и JSON — два самых популярных формата для конфигураций и структурированных данных. Манифесты Kubernetes, файлы Docker Compose, CI-пайплайны и спецификации OpenAPI обычно пишутся на YAML, тогда как API, код на JavaScript и многие инструменты ожидают JSON. Этот конвертер преобразует данные между ними в обоих направлениях прямо во время ввода и точно указывает на ошибки, если исходный код невалиден.

Возможности

  • Два направления: YAML → JSON и JSON → YAML, с переключением в один клик.
  • Проверка синтаксиса с понятными сообщениями об ошибках при неверных отступах, незакрытых кавычках и невалидном JSON.
  • Многодокументный YAML преобразуется в массив JSON.
  • Якоря, алиасы и ключи слияния разрешаются автоматически.
  • Отступы в 2 или 4 пробела для результата.
  • Копирование или скачивание результата в формате .json или .yaml.
  • Конфиденциально: данные не отправляются на сервер.

Пример

Этот YAML:

name: web-app
replicas: 3
ports:
  - 80
  - 443
env:
  NODE_ENV: production

преобразуется в этот JSON:

{
  "name": "web-app",
  "replicas": 3,
  "ports": [80, 443],
  "env": {
    "NODE_ENV": "production"
  }
}

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

  • Табуляция для отступов. YAML поддерживает только пробелы. Замените табы на два пробела.
  • Неодинаковые отступы. Элементы одного уровня должны иметь строго одинаковый отступ.
  • Отсутствие пробела после двоеточия. key:value считывается как одна строка; пишите key: value.
  • Спецсимволы в строках. Значения, начинающиеся с @, *, &, !, %, { или [, а также содержащие : , необходимо брать в кавычки.
  • Неожиданные типы данных. Номера версий вроде 1.10 превращаются в число 1.1, а ведущие нули могут исчезнуть. Берите в кавычки значения, которые должны оставаться текстом.

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

Отформатируйте или минифицируйте полученный JSON с помощью инструмента Форматирование JSON, преобразуйте JSON в таблицу через JSON в CSV или сравните два конфигурационных файла с помощью Сравнения файлов.

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

В чем разница между YAML и JSON?
Оба формата описывают одни и те же типы данных — объекты, списки, строки, числа, логические значения и null. JSON использует фигурные и квадратные скобки, а также кавычки, и является стандартом для API. YAML использует отступы вместо скобок, поддерживает комментарии и популярен для конфигурационных файлов, таких как Docker Compose, Kubernetes, GitHub Actions и Ansible.
Что происходит с комментариями YAML?
В JSON нет комментариев, поэтому они удаляются при конвертации YAML в JSON. При обратной конвертации в YAML исходные комментарии не сохранятся.
Как обрабатываются несколько YAML-документов?
YAML-файл может содержать несколько документов, разделенных ---. В этом случае конвертер создает JSON-массив с одним элементом для каждого документа.
Поддерживаются ли якоря и алиасы?
Да. Якоря (&name), алиасы (*name) и ключи слияния (<<: *name) обрабатываются, поэтому JSON будет содержать полностью развернутые значения.
Почему мое значение меняет тип, например, "no" становится false?
Этот инструмент использует стандарт YAML 1.2, где логическими значениями являются только true и false. Старые парсеры YAML 1.1 также считают логическими значениями yes, no, on и off. Если вам нужно, чтобы значение осталось строкой, заключите его в кавычки.
Загружаются ли мои данные на сервер?
Нет. Парсинг и конвертация происходят в вашем браузере, поэтому конфигурационные файлы с секретами или внутренними именами хостов никогда не покидают ваше устройство.