JSON, YAML, XML 변환 가이드 — 데이터 포맷 완벽 이해
데이터 직렬화 포맷이란?
데이터 직렬화는 메모리의 데이터 구조를 파일이나 네트워크로 전송할 수 있는 형태로 변환하는 과정입니다. JSON, YAML, XML, TOML은 모두 이 목적으로 사용되는 텍스트 기반 포맷입니다.
포맷 한눈에 비교
| 항목 | JSON | YAML | XML | TOML |
|---|---|---|---|---|
| 가독성 | 좋음 | 매우 좋음 | 보통 | 좋음 |
| 주석 | ❌ | ✅ | ✅ | ✅ |
| 파일 크기 | 작음 | 작음 | 큼 | 작음 |
| 주요 용도 | API, 웹 | 설정 파일 | 엔터프라이즈 | 설정 파일 |
JSON — 웹의 표준
JSON(JavaScript Object Notation)은 현재 웹 API의 사실상 표준입니다. REST API 요청/응답, NoSQL 데이터베이스, JavaScript/TypeScript 프로젝트에 사용됩니다.
YAML — 사람이 읽기 쉬운 설정 포맷
Docker Compose, Kubernetes, GitHub Actions, Ansible 모두 YAML을 사용합니다. 들여쓰기 기반으로 가독성이 높지만, 탭 사용이 불가하고 들여쓰기 오류에 주의해야 합니다.
XML — 엔터프라이즈의 표준
레거시 엔터프라이즈 시스템(SOAP, RSS), Microsoft Office 파일 내부(DOCX, XLSX), SVG 등에 사용됩니다.
OBSCURA로 변환하기
OBSCURA는 JSON, YAML, XML, TOML 간의 양방향 변환을 지원합니다.
올바른 포맷 선택 기준
- API 개발 → JSON
- 컨테이너/인프라 설정 → YAML
- 레거시 시스템 연동 → XML
- 사람이 자주 편집 → YAML 또는 TOML
- 프로그램이 자주 생성/파싱 → JSON