</>DevTools

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이 완성됩니다.

🔗관련 도구🔄 텍스트/데이터 변환