YAML JSON 변환 config
YAML 설정을 JSON으로, JSON을 YAML로 변환합니다. 들여쓰기 폭을 조절할 수 있습니다.
이 도구가 하는 일
YAML은 들여쓰기로 구조를 표현하는 설정 파일 형식입니다. 괄호와 따옴표가 적어 사람이 읽고 쓰기 편하기 때문에 Docker Compose, 쿠버네티스 매니페스트, GitHub Actions 워크플로, 각종 애플리케이션 설정에서 표준처럼 쓰입니다.
반면 프로그램이 다루는 데이터는 JSON인 경우가 많습니다. API 요청 본문, 브라우저 콘솔에서의 확인, 스키마 검증 도구가 대부분 JSON을 기준으로 하기 때문입니다. 그래서 YAML 설정의 실제 구조가 어떻게 해석되는지 확인하려면 JSON으로 바꿔 보는 것이 가장 빠릅니다.
이 도구는 js-yaml 라이브러리를 브라우저에서 실행해 두 형식을 상호 변환합니다. 중첩된 맵과 시퀀스, 여러 줄 문자열, 앵커 없는 일반적인 문서를 처리합니다. 변환에 성공했다는 것 자체가 문법이 올바르다는 검증이 되므로 설정 파일의 오류를 찾는 용도로도 유용합니다.
언제 사용하나요
쿠버네티스 매니페스트나 GitHub Actions 워크플로의 들여쓰기가 의도한 구조로 해석되는지 확인할 때, YAML 설정을 API 요청 본문 JSON으로 옮길 때, 배포 전에 설정 파일의 문법 오류를 잡을 때, JSON으로 관리하던 설정을 YAML로 전환할 때 사용합니다.
입력과 출력 예시
name: alice
roles:
- admin
- dev
active: true
{"name":"alice","roles":["admin","dev"],"active":true}
하이픈으로 시작하는 줄은 배열 항목이 되고, true는 불리언으로 해석됩니다.
version: 1.10
{"version":1.1}
따옴표가 없으면 숫자로 해석되어 뒤의 0이 사라집니다. 버전 문자열은 "1.10" 처럼 감싸야 합니다.
주의사항
YAML에서 가장 흔한 사고는 들여쓰기입니다. 탭 문자는 허용되지 않으므로 반드시 공백을 사용해야 하며, 한 칸 차이로 항목이 다른 부모에 붙습니다. 또한 따옴표 없는 값의 자동 해석에 주의해야 합니다. yes, no, on, off, true, false는 불리언으로, 08 같은 값은 형식에 따라 다르게 읽힐 수 있고, 노르웨이 국가 코드 NO가 false가 되는 문제는 널리 알려져 있습니다. 버전이나 국가 코드처럼 문자열이어야 하는 값은 따옴표로 감싸십시오. 변환 결과에서 원하지 않는 타입이 보이면 원본에 따옴표를 추가해야 합니다.
자주 묻는 질문
탭으로 들여쓰기하면 왜 오류가 나나요?
YAML 명세가 들여쓰기에 탭 문자를 허용하지 않습니다. 반드시 공백을 사용해야 하며, 편집기의 탭 설정을 공백 변환으로 바꾸는 것이 좋습니다.
no 라고 썼는데 false가 됩니다.
YAML 1.1 방식에서 yes, no, on, off를 불리언으로 해석하기 때문입니다. 문자열로 쓰려면 "no" 처럼 따옴표로 감싸십시오.
주석은 어떻게 되나요?
JSON에는 주석이 없으므로 YAML을 JSON으로 바꾸면 # 로 시작하는 주석이 사라집니다. 되돌릴 수 없으니 원본을 보관하십시오.