MODOO HUB ← 모두의 툴
Dev · Instrument

YAML JSON

YAML 붙여넣기 → JSON 즉시 변환

YAML
JSON

📖 YAML→JSON 변환기가 쿠버네티스 매니페스트에서 실패하는 이유 가이드 보기

YAML to JSON 변환기

Kubernetes, Docker Compose, GitHub Actions 등 YAML 설정 파일을 JSON으로 즉시 변환합니다. 내부적으로 js-yaml 라이브러리의 jsyaml.load() 함수를 사용하는데, 이 함수는 "---"로 구분된 다중 문서 YAML을 만나면 첫 번째 문서만 변환하는 게 아니라 "여러 문서가 발견됐다"는 오류를 던지며 아예 변환에 실패합니다. Kubernetes manifest처럼 여러 리소스를 "---"로 이어붙인 YAML 파일은 이 도구에 그대로 붙여넣으면 오류 메시지만 나오고 결과가 비어 있게 됩니다.

자주 묻는 질문

"---"로 구분된 다중 문서 YAML을 넣으면 첫 번째 문서만 변환되나요?

아니요. 이 도구가 사용하는 js-yaml의 load() 함수는 다중 문서 YAML을 만나면 "expected a single document in the stream, but found more"라는 오류를 던지며 변환 자체에 실패합니다. 첫 번째 문서만 골라서 변환해주지 않고, 결과 칸이 비고 오류 메시지만 표시됩니다.

Kubernetes YAML처럼 여러 리소스가 "---"로 이어진 파일은 어떻게 변환하나요?

이 도구에 통째로 붙여넣으면 다중 문서 오류가 나므로, "---" 구분선을 기준으로 파일을 문서 단위로 나눈 뒤 각 문서를 하나씩 따로 붙여넣어 변환해야 합니다.

YAML 앵커(&)와 별칭(*)은 변환 시 어떻게 되나요?

단일 문서 안에서는 앵커와 별칭이 실제 값으로 해소되어 JSON에 인라인됩니다. 다만 이 처리도 문서가 하나일 때만 적용되며, 다중 문서 YAML 자체는 앞서 설명한 이유로 변환 단계에 도달하지 못합니다.

YAML 주석은 변환 후 어떻게 되나요?

JSON은 주석을 지원하지 않으므로 # 주석은 변환 과정에서 제거되고 결과 JSON에는 나타나지 않습니다.

YAML의 true/false/null은 어떻게 처리되나요?

YAML의 불리언 표현(true/false, yes/no, on/off)과 null(~)은 JSON의 동등한 값(true/false, null)으로 변환됩니다.

큰따옴표·작은따옴표로 감싼 문자열의 차이는?

YAML에서 큰따옴표 문자열은 이스케이프 시퀀스(예: \n)를 처리하고, 작은따옴표 문자열은 내용을 있는 그대로(리터럴로) 취급합니다. 변환 후 JSON에서는 이 구분이 사라지고 모두 동일한 일반 문자열이 됩니다.

탭으로 들여쓰기한 YAML도 변환되나요?

아니요. YAML 사양 자체가 들여쓰기에 탭 문자 사용을 금지하고 있어, 탭이 섞인 YAML을 넣으면 파싱 오류가 발생합니다. 스페이스만 사용해야 합니다.

역변환(JSON → YAML)도 지원하나요?

이 도구는 YAML→JSON 방향만 지원합니다. 반대 방향은 json-to-yaml 도구를 이용하세요.