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

Вставьте YAML и получите отформатированный JSON, готовый для API, кода на JavaScript или валидации по JSON Schema.

JSON

Преобразование конфигурационных файлов YAML в JSON

На YAML удобно писать, но многие инструменты принимают только JSON: его ожидают REST API, код на JavaScript, валидаторы JSON Schema и jq. Этот конвертер разбирает ваш YAML и выводит его в виде JSON с отступом в два пробела. Якоря и алиасы разворачиваются в полные копии, комментарии отбрасываются, а значения без кавычек получают типы по правилам YAML: числа становятся числами, true и false — булевыми значениями, ~ и null — null, а даты — строками в формате ISO 8601. Если в YAML есть ошибка отступов или синтаксиса, сообщение укажет строку и столбец.

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

  1. Вставьте YAML, например docker-compose.yml или рабочий процесс GitHub Actions.
  2. Посмотрите отформатированный JSON в редакторе вывода или исправьте строку, указанную в сообщении об ошибке.
  3. Скопируйте JSON или нажмите «Поменять», чтобы преобразовать его обратно в YAML.

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

Что происходит с якорями и алиасами YAML?
Они разрешаются. Каждый алиас (*name) заменяется полной копией значения с якорем, поскольку в JSON нельзя сослаться на другую часть документа.
Почему моё значение yes осталось строкой?
Парсер следует спецификации YAML 1.2, в которой булевыми значениями являются только true и false. yes, no, on и off остаются строками; если нужно булево значение, пишите true или false.
Можно ли конвертировать файл с несколькими документами, разделёнными ---?
За один раз конвертируется только один документ. Вставляйте каждый документ отдельно или сначала объедините их в один список YAML.

Пример: YAML в JSON

Ввод YAML

name: deploy
on:
  push:
    branches: [main]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm test

Вывод JSON

{
  "name": "deploy",
  "on": {
    "push": {
      "branches": [
        "main"
      ]
    }
  },
  "jobs": {
    "build": {
      "runs-on": "ubuntu-latest",
      "steps": [
        {
          "uses": "actions/checkout@v4"
        },
        {
          "run": "npm test"
        }
      ]
    }
  }
}

Другие преобразования