·2분 읽기

JSON을 YAML로 변환하는 법 — 설정 파일 실전 변환 가이드

Kubernetes·Docker Compose·GitHub Actions 설정을 JSON에서 YAML로 옮길 때 주의할 점을 정리했어요. 주석 처리, 앵커 문법, 흔한 변환 실수까지 한 번에.

JSON을 YAML로 변환하는 법 — 설정 파일 실전 변환 가이드
{ }
JSON 포맷터 바로 사용하기
JSON을 예쁘게 정렬하고 검증하세요

왜 JSON 대신 YAML로 옮기나

JSON은 파싱하기 쉽지만 **사람이 읽기엔 불편**해요. 중괄호·쉼표·따옴표가 과해요. YAML은 들여쓰기로 구조를 표현하고 **주석도 지원**해요. Kubernetes, Docker Compose, GitHub Actions, Ansible 같은 도구들이 YAML을 선택한 이유예요. 저도 처음엔 JSON 설정이 익숙했는데, 100줄 넘어가니 YAML이 훨씬 편해요. 특히 팀원과 공유할 때 가독성 차이가 커요.

1. 기본 변환 규칙

JSON과 YAML은 구조가 거의 1:1 대응이에요. ```json { "name": "app", "replicas": 3, "tags": ["prod", "api"] } ``` YAML로 바꾸면: ```yaml name: app replicas: 3 tags: - prod - api ``` 따옴표 대부분 생략 가능, 들여쓰기로 구조 표현이 핵심이에요.

2. 주석 넣기 (JSON엔 없는 강력한 기능)

YAML만의 장점이에요. `#` 기호로 주석을 넣을 수 있어요. ```yaml # 프로덕션 환경 설정 replicas: 3 # 부하 기준 ``` 설정 파일에 **왜 이 값인지** 기록해두면 6개월 후 본인도 고마워해요.

3. 앵커와 별칭 (YAML만의 무기)

같은 값을 여러 곳에 반복해야 할 때 YAML 앵커로 DRY하게 작성할 수 있어요. ```yaml defaults: &defaults timeout: 30 retries: 3 service-a: <<: *defaults port: 8080 service-b: <<: *defaults port: 8081 ``` JSON으로 같은 걸 표현하려면 복붙 범벅이에요.

4. 자주 하는 변환 실수 5가지

변환 중 흔한 함정이에요. - **들여쓰기에 탭 사용** → YAML은 스페이스만 허용 - **콜론 뒤 공백 누락** → `key:value` 금지, `key: value` - **따옴표 안 감싼 문자열** → `yes`, `no`, `on`, `off`는 boolean으로 해석됨 - **하이픈 뒤 공백 누락** → `- item1` (OK) vs `-item1` (에러) - **멀티라인 문자열 오해** → `|`(줄바꿈 유지) vs `>`(줄바꿈 공백 변환) 구분 필요

5. Toolkio JSON Formatter로 YAML 구조 미리 보기

Toolkio JSON Formatter에 JSON 넣고 포맷팅하면 **들여쓰기 구조가 한눈에** 보여요. 이 구조 그대로 YAML로 옮기면 실수가 줄어요. 변환 후엔 YAML Linter(yamllint.com 등)로 검증하세요. 들여쓰기 실수는 런타임 에러로 드러나요.

지금 바로 JSON 포맷터를 사용해보세요

무료이며, 브라우저에서 바로 실행됩니다.

JSON 포맷터