JSON YAML 변환기
JSON을 한 번에 읽기 쉬운 YAML로 바꾸세요.
브라우저에서 실행됩니다. 입력한 내용은 어디로도 전송되지 않습니다.
- 중첩과 타입 유지
- 입력하는 대로 변환
- 업로드 없음
JSON을 YAML로 변환하는 방법
- JSON을 붙여넣거나 업로드하세요.
- 입력하는 대로 YAML이 나타납니다.
- 복사하거나 .yaml 파일을 다운로드하세요.
JSON에서 YAML로 바뀌는 것
- 중괄호와 쉼표가 사라지고 대신 들여쓰기가 구조를 나타냅니다.
- 속성 이름은 따옴표를 잃지만, 콜론처럼 YAML이 따옴표를 요구하는 문자가 들어 있으면 예외입니다.
- JSON 배열은 키 아래에 들여쓰기된, 항목마다 하이픈이 붙은 목록이 됩니다.
- true, false, null은 두 형식 모두에서 같은 단어로 쓰입니다.
일부 YAML 값이 따옴표를 유지하는 이유
| JSON 값 | 출력 형태 | 이유 |
|---|---|---|
| "007" | '007' | 따옴표 없는 007은 숫자 7로 읽히기 때문 |
| "yes" | 'yes' | 일부 YAML 리더는 따옴표 없는 yes나 no를 불리언으로 처리하기 때문 |
| "null" | 'null' | 따옴표 없는 null은 null 값으로 해석되기 때문 |
| "2024-01-01" | '2024-01-01' | 일부 리더는 따옴표 없는 날짜를 날짜 타입으로 해석하기 때문 |
YAML이 쓰이는 곳
- Docker Compose 파일
- Kubernetes 매니페스트
- GitHub Actions 워크플로 파일
- Ansible 플레이북
JSON to YAML이 도움이 되는 경우
- 내보낸 설정 파일을 배포 도구가 실제로 읽는 설정 형식으로 바꿀 때.
- 두 버전을 비교하기 전에 API 응답을 한눈에 보기 쉽게 만들 때.
- 기존 JSON 데이터로 Helm 차트 같은 도구의 values 파일 초안을 작성할 때.
JSON YAML 변환 자주 묻는 질문
JSON 대신 YAML을 쓰는 이유는 무엇인가요?
YAML은 대부분의 괄호와 따옴표를 없애고 대신 들여쓰기를 쓰므로, Docker Compose, Kubernetes, GitHub Actions 같은 도구의 설정 파일을 손으로 읽고 쓰기가 더 쉬워집니다.
일부 값에 따옴표가 붙는 이유는 무엇인가요?
따옴표가 없으면 다른 뜻으로 읽힐 문자열은 따옴표를 유지합니다. 예를 들어 '007'은 숫자 7이 아니라 텍스트로 남고, 'yes'도 문자열로 남습니다.
YAML에 주석을 추가할 수 있나요?
JSON에는 주석이 없으므로 넘어올 것이 없습니다. 변환 후 직접 #을 써서 주석을 추가할 수 있습니다.
어떤 YAML 방언으로 출력되나요?
표준 YAML 1.2이며, 많은 Node.js 빌드 도구가 설정 파일을 읽고 쓸 때 쓰는 js-yaml 라이브러리로 만들어집니다.
키의 순서가 유지되나요?
네. 키는 JSON 객체에 나타나는 순서 그대로 기록되므로 둘을 비교하기도 쉽습니다.
최상위 JSON 배열도 변환할 수 있나요?
네. 최상위 배열은 키와 값의 매핑이 아니라 하이픈이 붙은 항목들의 YAML 시퀀스가 됩니다.
깊게 중첩된 객체나 객체 배열도 처리할 수 있나요?
네. 어떤 깊이의 중첩도 올바르게 변환되며, js-yaml의 기본 스타일에 따라 각 단계가 부모보다 2칸씩 더 들여쓰기됩니다.
시간이나 URL처럼 콜론이 들어간 값은 어떻게 되나요?
값 전체가 따옴표로 감싸집니다. 따옴표 없이 콜론 뒤에 공백이 오면 새 키가 시작되는 것처럼 보이기 때문입니다.