YAML в JSON
Бесплатный онлайн-конвертер, который превращает YAML в стандартные JSON-объекты с помощью библиотеки js-yaml. YAML-маппинги и списки автоматически преобразуются в JSON-объекты и массивы, а pretty-режим можно переключать. Встроенная функция tryFixYAML исправляет 5 распространённых проблем: табы, незакрытые кавычки, отступы, формат ключей и лишние пробелы в конце строк.
Похожие
Зачем преобразовывать YAML в JSON
YAML удобен для чтения человеком и часто используется в Kubernetes, Docker Compose, Ansible и GitHub Actions. JSON, наоборот, лучше подходит для API, JavaScript и программной обработки. Этот инструмент нужен, чтобы быстро превращать YAML-конфигурации в стандартный JSON.
Преобразование происходит через js-yaml: YAML читается как JavaScript-объект, а затем сериализуется в JSON. Маппинги YAML становятся JSON-объектами, списки — массивами, а строки, числа, булевы значения и null сохраняют соответствующие типы.
Режим pretty выводит JSON с отступами в 2 пробела и удобен для чтения. Компактный режим полезен для передачи по сети, вставки в API-запросы и хранения в базах данных.
В реальных YAML-файлах часто встречаются табы, незакрытые кавычки, неправильные отступы и проблемные ключи. Встроенный tryFixYAML автоматически исправляет 5 таких типичных ошибок прямо в браузере.
Варианты использования
- Преобразование Kubernetes manifest и Helm values.yaml в JSON для jq, проверки или CI/CD
- Конвертация docker-compose.yml в JSON для дальнейшей обработки другими инструментами
- Сравнение и шаблонизация YAML-конфигураций GitHub Actions или GitLab CI в виде JSON
- Преобразование Ansible playbook и monitoring-конфигов в JSON для программной обработки
- Перевод OpenAPI / Swagger YAML-спецификаций в JSON для генераторов SDK и серверных заготовок
- Обучение различиям между YAML и JSON на практических примерах
Как использовать
- Вставьте YAML в левую панель или загрузите файл .yaml / .yml / .txt
- Через 400 мс после ввода инструмент автоматически покажет JSON в правой панели
- При необходимости переключите режим форматированного или компактного вывода
- Если есть ошибка, нажмите кнопку исправления структуры для автопочинки типичных YAML-проблем
- Скопируйте результат или скачайте его как converted.json
Функции
- Парсит YAML через js-yaml: маппинги, списки, вложенные структуры, многострочные строки, anchors и aliases
- Автоматически исправляет 5 распространённых ошибок YAML: табы, незакрытые кавычки, неверные отступы, специальные ключи и хвостовые пробелы
- Поддерживает pretty-вывод с отступом в 2 пробела и компактный JSON в одну строку
- Рекурсивно преобразует вложенные YAML-структуры в JSON-объекты и массивы
- Игнорирует YAML-комментарии, поэтому в результате остаются только данные JSON
- Запускает автоконвертацию через 400 мс после ввода для быстрого просмотра результата
- Показывает JSON с подсветкой синтаксиса, чтобы сложные структуры было проще читать
- Поддерживает загрузку, копирование, скачивание и восстановление истории прямо в браузере
- Вся обработка выполняется локально и не отправляет конфигурацию на сервер
Часто задаваемые вопросы
Как преобразовать YAML в JSON?
Вставьте YAML в левую панель или загрузите файл .yaml / .yml / .txt, и инструмент с помощью js-yaml автоматически преобразует содержимое в стандартный JSON. YAML-маппинги становятся JSON-объектами, а списки — JSON-массивами. Конвертация запускается автоматически примерно через 400 мс после ввода.
Сохраняются ли комментарии YAML в JSON?
Нет. Комментарии YAML с символом # нужны только для чтения человеком и игнорируются при парсинге. На выходе JSON содержит только данные. Если комментарии важны, храните исходный YAML отдельно или добавляйте явные поля comment в JSON.
Можно ли исправить YAML с ошибками отступов или кавычек?
Да. Встроенный tryFixYAML умеет автоматически исправлять 5 распространённых проблем: табы, незакрытые кавычки, неровные отступы, специальные имена ключей и лишние пробелы в конце строк. Но при сильно повреждённой структуре YAML всё равно может потребоваться ручная правка.
Устранение неполадок
Ошибка парсинга YAML
Чаще всего причина в смешении табов и пробелов, сломанной вложенности, незакрытых кавычках или пропущенном двоеточии. Попробуйте сначала автопочинку структуры.
Комментарии не попали в JSON
JSON не поддерживает комментарии, поэтому строки с # удаляются при преобразовании. Если комментарии нужны, храните их отдельно.
Пропали anchors и aliases
js-yaml разворачивает ссылки до преобразования в JSON. В результате в JSON остаются только уже раскрытые значения.
Дата стала строкой
Даже если YAML распознаётся как дата, JSON выводит её как ISO-строку. У JSON нет собственного типа Date.
Что делать с multi-document YAML
Текущий инструмент ориентирован на один YAML-документ. Файлы с --- лучше разбивать и конвертировать по частям.
Глоссарий
- YAML
- Человекоориентированный формат сериализации данных, широко используемый в конфигурациях Kubernetes, Docker Compose и других DevOps-инструментов.
- JSON
- JavaScript Object Notation — стандартный формат данных для API, веб-приложений и многих языков программирования.
- js-yaml
- Популярная JavaScript-библиотека для парсинга YAML и преобразования его в объекты JavaScript.
- Indentation
- Отступы в YAML, задающие вложенность. Обычно используются пробелы, а не табы.
- Anchor
- Конструкция YAML вида &name для повторного использования значения или блока.
- Alias
- Конструкция YAML вида *name для ссылки на ранее объявленный anchor.
- Pretty Output
- Форматированный JSON с отступами и переводами строк для удобного чтения.
- tryFixYAML
- Встроенный механизм автоматической починки распространённых ошибок YAML перед конвертацией.
Соответствие типов YAML и JSON
Базовые структуры YAML преобразуются в JSON следующим образом.
| Тип YAML | Пример YAML | Вывод JSON | Правило |
|---|---|---|---|
| string | name: Alice | "name": "Alice" | Строка остаётся строкой JSON. |
| number | age: 30 | "age": 30 | Число остаётся числом JSON. |
| boolean | enabled: true | "enabled": true | true / false становятся булевыми значениями JSON. |
| sequence | - a
- b | ["a", "b"] | YAML-список становится JSON-массивом. |
| mapping | user:
name: Alice | {"user": {"name": "Alice"}} | YAML-маппинг становится JSON-объектом. |
Сравнение YAML и JSON
Оба формата описывают данные, но по-разному удобны для чтения и машинной обработки.
| Критерий | YAML | JSON | Примечание |
|---|---|---|---|
| Читаемость | высокая | средняя | YAML удобнее для конфигураций, читаемых человеком. |
| Комментарии | # поддерживаются | не поддерживаются | В стандарте JSON нет комментариев. |
| Массивы | - item | [item] | YAML использует дефисы, JSON — квадратные скобки. |
| Основное применение | конфиги | API / обмен данными | YAML чаще для конфигураций, JSON — для передачи данных. |
Какие ошибки YAML исправляются автоматически
Функция tryFixYAML исправляет несколько частых проблем.
| Тип ошибки | Пример | После исправления | Пояснение |
|---|---|---|---|
| Табы | key:
value | key:
value | Табы заменяются пробелами. |
| Незакрытые кавычки | key: 'value | key: 'value' | Добавляется недостающая кавычка. |
| Пробелы в конце строки | key: value | key: value | Лишние пробелы удаляются. |
| Неровные отступы | key:
value | key:
value | Отступы приводятся к корректному виду. |
Privacy & Security
Этот инструмент YAML в JSON выполняет парсинг YAML, сериализацию JSON и исправление ошибок полностью в JavaScript вашего браузера. Исходный YAML и готовый JSON не отправляются на сервер. Поэтому конфигурации с Kubernetes secrets, API-ключами и паролями баз данных можно преобразовывать локально и безопаснее.
Authoritative References
- YAML.orgСпецификация YAML 1.2
- GitHubРепозиторий js-yaml на GitHub
- KubernetesДокументация по конфигурации Kubernetes
- DockerСпецификация Docker Compose
- AnsibleСправка по YAML в Ansible
- JSON Compress
- CSV в JSON
- JSON в CSV
- JSON Diff
- JSON Escape / Unescape
- Сглаживание JSON
- Форматтер JSON
- Генератор JSON
- JSONPath Запрос
- Объединение JSON
- Восстановление JSON
- Валидатор JSON Schema
- Сортировка JSON
- JSON Stringify
- JSON в HTML
- JSON в Java
- JSON в Markdown
- JSON в SQL
- JSON в TOML
- JSON в TypeScript
- XML в JSON
- Преобразовать JSON в XML
- YAML в JSON
- JSON → YAML Конвертер
- JSON в Go
- JSON в Rust
- JSON в Swift
- JSON в C#
- JSON в C++
- JSON в PHP
- JSON в Python