Что делает инструмент
JSON и YAML — два самых популярных формата для структурированных данных и конфигураций. JSON — лаконичный, программно-точный (используется в API, package.json, конфигах JS). YAML — человекочитаемый (используется в Kubernetes, Docker Compose, GitHub Actions, OpenAPI). Часто нужно перенести данные между ними.
Этот инструмент даёт двунаправленный конвертер с live-обновлением: вводите JSON слева — YAML появляется справа автоматически через 250 мс. Кнопка ⇄ меняет направление. В обе стороны через библиотеку js-yaml, в браузере, без отправки на сервер.
Где используется YAML
- Kubernetes manifests — Pod, Deployment, Service, Ingress описываются YAML.
- Docker Compose —
docker-compose.yml. - GitHub Actions / GitLab CI — workflow-конфиги в YAML.
- OpenAPI / Swagger — спецификации API часто в YAML (хотя бывает и JSON).
- Ansible playbooks — описание задач для автоматизации серверов.
- Yandex Cloud / VK Cloud Functions — конфиги функций и инфраструктуры.
- Static site generators — Hugo, Jekyll, Astro используют YAML front matter.
Особенности конвертации
- Числа. JSON:
42,3.14. YAML: то же самое. Но в YAML"42"со строкой нужно явно кавычить. - Boolean. JSON:
true,false. YAML:true/false,yes/no,on/off— все эквивалентны. js-yaml выдаётtrue/falseдля совместимости. - null. JSON:
null. YAML:null,~, или просто пустая строка. js-yaml используетnull. - Многострочные строки. JSON: с
\nвнутри. YAML: используется|(literal block) или>(folded). js-yaml автоматически выбирает оптимальный стиль. - Комментарии. JSON их не поддерживает. YAML — через
#. При JSON → YAML комментариев не будет; при YAML → JSON комментарии теряются.
- js-yaml — YAML 1.2 parser/writer for JavaScript. Vitaly Puzrin. github.com/nodeca/js-yaml. 2024.
- YAML 1.2.2 specification. YAML Language Development Team. yaml.org. 2021.
- JSON specification (RFC 8259). IETF. rfc-editor.org/rfc/rfc8259. 2017.
