JSON·YAML 변환
JSON과 YAML을 서로 변환해요. 설정 파일 옮길 때 써요.
이럴 때 쓰세요
이렇게 사용하세요
결과가 예상과 다를 때
결과가 잘려 보여요
전체 결과는 복사 버튼으로 받을 수 있어요.
입력한 내용이 사라졌어요
이 기기에 자동 저장돼요. 브라우저 저장소를 지우면 함께 사라져요.
자주 하는 실수
- YAML은 탭으로 들여쓸 수 없습니다. 탭이 섞인 줄이 하나라도 있으면 변환이 멈춥니다. 스페이스로 바꿔 넣으세요.
- 문서 구분 기호 --- 가 두 번 이상 있으면 한 번에 읽지 못합니다. 문서 하나씩 나눠서 각각 변환하세요.
- 같은 키가 두 번 나오면 오류로 멈춥니다. 나중에 적은 값이 앞선 값을 조용히 덮어쓰는 게 아니라 거부됩니다.
- 날짜로 보이는 값은 날짜로 읽힙니다. 2026-02-17 은 문자열이 아니라 시각으로 해석돼 ISO 형식으로 바뀔 수 있어요.
계산 근거
YAML 1.2에서 JSON은 YAML의 부분집합입니다. 그래서 JSON 문서는 그 자체로 유효한 YAML이고, 변환은 값을 감싼 표기만 바꿉니다. 주석과 앵커(&, *), 태그는 JSON에 대응 개념이 없어 사라지거나 값으로 풀립니다. 들여쓰기는 공백만 허용되며 탭은 문법 오류입니다.
실제로 계산해 보면
server·debug 설정 JSON을 YAML로 바꾸면 몇 줄이 되나요?
server: / 두 칸 들여쓴 host·port / debug: true 로 4줄이 됩니다. 중괄호와 큰따옴표가 없어져 읽기가 훨씬 편해집니다.
위 YAML을 다시 JSON으로 바꾸면?
키마다 줄을 내고 두 칸씩 밀어 총 7줄이 나옵니다. 그대로 붙여 넣어도 유효한 JSON이라 다른 도구로 넘길 수 있어요.
콜론이 들어간 문자열과 숫자 모양 문자열은 어떻게 표기되나요?
'주의: 이 값'은 따옴표로 감싸져 YAML이 콜론을 값 구분자로 오해하지 않게 됩니다. '8080'도 숫자가 아닌 문자열임이 드러나도록 따옴표가 붙습니다.
더 궁금한 것
값을 문자열로 확실히 유지하려면 어떻게 쓰나요?
따옴표로 감싸면 됩니다. 변환기는 숫자나 true·false처럼 보이는 문자열에 자동으로 따옴표를 붙여 둡니다. 숫자 0이나 빈 문자열도 여기에 해당해요.
yes나 no가 진짜 값이에요, 문자열이에요?
이 변환기는 yes, no, on 을 문자열로 읽고 true 만 참으로 읽습니다. 예전 규칙을 따르는 다른 파서는 참·거짓으로 볼 수 있으니 값에는 따옴표를 붙여 두는 편이 안전합니다.
앵커와 별표로 묶은 부분은 어떻게 되나요?
같은 값을 가리키던 이름이 풀려 두 곳에 같은 값이 들어갑니다. &x 로 이름 붙인 값과 *x 로 가리킨 값은 각각 그 값으로 저장돼요.
알아둘 경계값
- 긴 줄은 120자 기준으로 접혀서 여러 줄로 나와요. 값은 같지만 바이트가 달라지니 해시 비교에는 쓸 수 없어요.
- 제이슨 변환 결과는 항상 두 칸 들여쓰기로 고정돼요. 원본 들여쓰기와 달라지니 서식이 고정된 곳은 모양을 맞추세요.
- 변환기가 아직 안 왔을 때 버튼을 누르면 안내만 뜨고 결과는 그대로예요. 안내가 뜨면 잠시 뒤 다시 누르세요.
- 값이 비어 있는 키는 널로 읽혀요. 빈 문자열을 기대했다면 따옴표를 붙였는지 먼저 보세요.
- 자릿수가 큰 숫자는 처리 과정에서 끝자리가 바뀔 수 있어요. 긴 번호는 따옴표로 감싸서 문자로 두세요.
- 제이슨 칸에 얌을 넣고 누르면 오류만 나고 멈춰요. 어느 칸에 무엇을 넣었는지 방향을 먼저 보세요.
결과를 믿기 전 확인 목록
- 긴 줄이 접혔는지 결과에서 줄 수를 세어 보세요.
- 들여쓰기가 두 칸으로 바뀌어도 되는지 받는 쪽을 보세요.
- 안내 문구가 떴다면 변환기를 기다렸다가 다시 눌렀는지 보세요.
- 빈 값 키가 널로 바뀌어도 되는지 결과에서 보세요.
- 긴 번호는 따옴표로 감쌌는지 원본에서 보세요.
- 입력 상자 방향이 목적인 변환과 맞는지 보세요.
- 결과를 복사하기 전에 오류 문구가 없는지 보세요.
- 원본 파일은 손대지 않고 따로 보관했는지 보세요.
- 다시 되돌렸을 때 값이 같은지 대조해 보세요.
자주 묻는 질문
주석은 유지되나요?
YAML→JSON은 주석이 사라지고, JSON→YAML은 새로 생성됩니다.
YAML 주석이 사라지는데요?
JSON에는 주석 개념이 없어 변환 시 사라집니다. 주석을 유지해야 하면 원본 YAML을 보관하세요.