TOML · JSON · YAML 비교
세 포맷 모두 설정 파일에서 흔히 쓰이지만 강점이 다릅니다. JSON은 기계 친화적이며 모든 언어가 기본 지원합니다. YAML은 사람이 읽기 쉽지만 들여쓰기 규칙이 엄격하고 안전성 이슈가 있습니다. TOML은 INI와 비슷한 단순함에 명확한 타입을 더해 Cargo, Poetry, Hugo 등이 채택했습니다.
이 도구는 한 포맷의 변경 사항이 다른 두 포맷에도 실시간으로 반영되도록 합니다. 어떤 포맷을 'source'로 쓸지 버튼으로 지정하고, 들여쓰기는 2칸/4칸/탭 중 선택할 수 있습니다.
지원 범위
- JSON: 표준 RFC 8259 (객체·배열·문자열·숫자·true/false/null)
- YAML: 스칼라·맵·시퀀스, 들여쓰기 기반 (앵커·태그 제외)
- TOML: 키-값, 테이블
[section], 배열 of 테이블[[arr]], 인라인 배열, 문자열·정수·실수·불리언
자주 묻는 질문 (FAQ)
Q. 주석은 보존되나요?
A. JSON은 표준상 주석을 허용하지 않으므로 변환 시 손실됩니다. YAML과 TOML의 주석은 데이터 모델에 포함되지 않아 동일 이유로 보존되지 않습니다. 본 도구는 의미 있는 값만 옮깁니다.
Q. 어떤 들여쓰기를 써야 하나요?
A. YAML 진영은 보통 2칸을, 일부 프레임워크(Kubernetes 등)는 2칸 고정을 선호합니다. JSON은 4칸이 보기 좋고, Python 생태계는 2칸/4칸 모두 흔합니다. 팀 규약에 맞추세요.
Q. 복잡한 YAML 기능이 작동하지 않습니다.
A. 본 도구는 표준 JSON으로 표현 가능한 데이터(스칼라·맵·시퀀스)에 집중합니다. 앵커(&), 별칭(*), 태그(!!) 같은 고급 기능은 손실되거나 단순화될 수 있습니다.