블로그로 돌아가기
Comparison 2026-04-30

JSON vs YAML vs TOML: 어떤 설정 형식을 사용할까

가장 일반적인 세 가지 설정 형식의 실용적 비교와 사용 사례.

설정 파일은 현대 인프라를 움직입니다. 잘못된 형식은 팀 전체에 수년간 마찰을 곱합니다.

JSON: 보편적 기본값

JSON은 도구 측면에서 승리합니다. 모든 언어가 파싱하고 모든 에디터가 하이라이트합니다.

단점: 주석 없음, 트레일링 콤마 금지, 인간 편집에 장황.

용도: API 페이로드, 기계 생성 설정, 패키지 매니페스트.

YAML: 가독성 좋지만 위험

port: 8080

hosts:

- a.com

유명한 함정: Norway 문제(no가 false), 암묵적 타입 변환, 들여쓰기 민감 에러.

용도: Kubernetes, GitHub Actions, Ansible. 숫자/불리언/날짜처럼 보이는 문자열은 반드시 따옴표.

TOML: 의도적으로 지루함

port = 8080

[database]

url = "postgres://localhost"

장점: 주석, 들여쓰기 게임 없음, 섹션, 1급 날짜.

용도: Rust(Cargo.toml), Python(pyproject.toml).

결정 매트릭스

기준JSONYAMLTOML

|-----|------|------|------|

주석XOO 타입 안전성양호함정양호 중첩장황최고OK

손편집이라면 TOML, 도구가 강제하면 YAML, 기계 핸드오프는 JSON.