Y/JJSON ↔ YAML 변환
JSON과 YAML 포맷 간 변환
JSON vs YAML 완벽 비교 가이드
JSON과 YAML은 데이터를 구조화하여 표현하는 두 가지 대표 포맷입니다. JSON은 API 응답과 설정 파일에 널리 쓰이고, YAML은 뛰어난 가독성 덕분에 Docker Compose, Kubernetes, GitHub Actions 같은 DevOps 도구의 설정 파일 표준이 되었습니다. 이 도구는 두 포맷 간 변환을 브라우저에서 즉시 처리합니다.
YAML 핵심 문법 완전 정복
들여쓰기와 기본 타입
YAML은 들여쓰기(스페이스만 허용, 탭 금지)로 계층 구조를 표현합니다. 문자열은 따옴표 없이도 사용 가능하고, 숫자·불리언(true/false)·null은 자동 인식됩니다.
# JSON
{"name": "Alice", "active": true, "score": 9.5}
# YAML (동일한 데이터)
name: Alice
active: true
score: 9.5앵커(&)와 별칭(*) — DRY 설정
반복되는 블록을 앵커로 저장하고 별칭으로 재사용할 수 있습니다. Kubernetes 매니페스트나 GitHub Actions 워크플로우에서 공통 환경 변수를 재사용할 때 특히 유용합니다.
defaults: &defaults image: node:18 restart: always web: <<: *defaults ports: ["3000:3000"] api: <<: *defaults ports: ["4000:4000"]
멀티라인 문자열 (| vs >)
|는 줄바꿈을 그대로 보존(리터럴), >는 줄바꿈을 공백으로 접습니다(폴디드). 긴 SQL·스크립트를 설정에 넣을 때 활용하세요.
언제 YAML을 선택해야 하나?
- Kubernetes / Helm: 공식 매니페스트 포맷이 YAML
- Docker Compose:
docker-compose.yml표준 - GitHub Actions / GitLab CI: 워크플로우 파일이 YAML
- Ansible: 플레이북 전체가 YAML 기반
- API 통신·웹훅: JSON이 더 적합 (파서 범용성)
실전 예시: Docker Compose 변환
JSON으로 작성된 서비스 정의를 붙여넣고 JSON → YAML 버튼 클릭 한 번이면 docker-compose.yml에 바로 사용할 수 있는 YAML이 완성됩니다.