사용 방법
- 변환 방향을 고르고 왼쪽에 YAML이나 JSON을 붙여 넣습니다. 파일 열기로 .yaml, .json 파일을 열 수도 있습니다.
- 문법이 틀리면 몇 번째 줄, 몇 번째 칸인지 알려줍니다. YAML 입력칸에서 Tab 키를 누르면 공백 2칸이 들어갑니다.
---로 나뉜 여러 문서(쿠버네티스 매니페스트 등)는 JSON 배열로 바뀝니다.- ‘바꾸기’로 결과를 반대 방향으로 다시 변환해 왕복 결과를 확인할 수 있습니다.
계산 기준과 공식
YAML 1.2 규칙으로 해석합니다(npm yaml 라이브러리). YAML 1.2는 JSON을 포함하므로 모든 JSON은 올바른 YAML이기도 합니다. 변환할 때 알아 둘 차이:
- YAML 주석(#)은 JSON에 담을 수 없어 사라집니다.
- 앵커와 별칭(
&base,*base)은 실제 값으로 펼쳐집니다. - 따옴표 없는 값은 형식을 추측합니다:
true는 불리언,1.10은 숫자 1.1,01234는 숫자 1234가 됩니다.NO,yes는 1.2 규칙에서 문자열입니다. - 같은 키가 두 번 나오면 오류로 처리합니다.
예시
따옴표 없는 값의 함정
country: NO version: 1.10 zip: 01234를 JSON으로 바꾸면
{ "country": "NO", "version": 1.1, "zip": 1234 }가 됩니다. 버전 1.10은 숫자 1.1로, 우편번호 01234는 앞의 0이 빠진 1234로 바뀌었습니다. 버전 번호, 우편번호, 전화번호는"01234"처럼 따옴표로 감싸야 합니다.JSON 설정을 YAML로
{"name":"tool-web","ports":[80,443],"debug":false}는 YAML로 다음과 같습니다.name: tool-web ports: - 80 - 443 debug: false탭으로 들여쓴 YAML
탭 문자로 들여쓰면 3번째 줄 1번째 칸에서 “들여쓰기에 탭을 쓸 수 없습니다. 공백으로 바꿔주세요.” 오류가 납니다. YAML은 공백 들여쓰기만 허용합니다.
결과를 읽는 법
오류 위치는 해석이 막힌 곳입니다. 들여쓰기 오류는 실제 실수가 그 윗줄에 있는 경우가 많으니, 같은 단계 항목들이 같은 칸에서 시작하는지 위쪽부터 확인하세요.
자주 묻는 질문
YAML 주석을 JSON에서 살릴 수 있나요?
JSON 표준에는 주석이 없어서 변환하면 사라집니다. 주석이 필요하면 설명을 "_comment" 같은 키로 따로 넣는 방법을 쓰기도 합니다.
on, yes, no 가 true/false 로 바뀌나요?
YAML 1.1(예전 PyYAML 등)에서는 yes/no/on/off가 불리언이었지만, 이 도구가 따르는 YAML 1.2에서는 true/false만 불리언이고 나머지는 문자열입니다. 사용하는 프로그램이 1.1이면 결과가 다를 수 있습니다.
여러 문서가 든 YAML은 어떻게 되나요?
--- 로 나뉜 문서들은 JSON 배열의 각 항목이 됩니다. 반대로 JSON 배열을 YAML로 바꿀 때 '배열을 문서로 나누기'를 켜면 항목마다 --- 로 나눈 여러 문서가 됩니다.
변환한 YAML의 순서가 원본과 같나요?
네, 키 순서를 그대로 유지합니다. 다만 들여쓰기와 따옴표 스타일은 표준 형식으로 다시 씁니다.
결과가 이상하거나 있었으면 하는 기능이 있나요? 오류 제보 · 의견 보내기