YAML→JSON 변환기이란?

YAML to JSON Converter는 YAML 문서를 동등한 JSON 구조로 즉시 변환합니다. 앵커, 별칭, 여러 줄 문자열, 중첩 맵, 시퀀스를 처리하므로 Kubernetes 설정, CI/CD 파이프라인 또는 기타 YAML 데이터를 API와 코드용 JSON으로 변환할 수 있습니다.

js-yaml 위에 만들어져 있어서, 간단한 변환기들이 놓치는 YAML 1.2 기능, 즉 앵커와 별칭(&ref / *ref), 다중 행 블록 문자열(|, >), 명시적 타입 태그, yes/no/on/off 같은 불리언 변형을 제대로 다룹니다. 역방향 모드도 있어 JSON에서 YAML로 돌아갈 때 구조를 유지하면서, 읽기 좋을 때는 스칼라 배열을 한 줄로 접어 줍니다.

사용 방법

  1. 1단계 — YAML 내용을 붙여넣거나 .yml/.yaml 파일을 업로드합니다. 구문 오류는 빠른 수정을 위해 줄 번호와 함께 강조됩니다.
  2. 2단계 — 설정 가능한 들여쓰기(2칸, 4칸, 탭 또는 축약)로 변환된 JSON 출력을 확인합니다.
  3. 3단계 — JSON을 복사하거나 .json 파일로 다운로드합니다. 역변환 모드를 사용하여 JSON을 다시 YAML로 변환할 수도 있습니다.

사용 시기

  • 쿠버네티스 매니페스트나 Helm values를 자체 검증 스크립트에 넣으려 JSON으로 바꿀 때.
  • JSON 파이프라인만 받는 도구에 GitHub Actions나 GitLab CI 설정을 전달할 때.
  • Compose 스키마 오류를 디버깅하면서 docker-compose.yml을 YAML과 JSON 사이로 오갈 때.

결과

배포 API를 위해 docker-compose.yml을 JSON으로 변환해야 합니다. 서비스, 볼륨, 네트워크 정의가 포함된 YAML을 붙여넣으면 모든 중첩 구조와 배열이 유지된 채 API가 수락하는 유효한 JSON을 얻을 수 있습니다.

자주 묻는 질문

YAML의 앵커와 별칭(& 와 *)을 처리하나요?
처리합니다. js-yaml이 파싱 단계에서 앵커를 해석하므로, 출력 JSON에는 참조 문법이 아니라 확장된 값이 들어갑니다. YAML에서 두 키가 한 앵커를 공유했다면, JSON에서는 각자 데이터를 완전히 복사해 가지게 됩니다.
YAML 불리언(yes / no)이 어떤 도구에서는 문자열로 나오는 이유는?
YAML 1.1은 yes/no/on/off를 불리언으로 봤지만, YAML 1.2는 true/false만 인정합니다. 이 도구는 1.2를 따르므로, 따로 true/false로 적지 않으면 yes/no는 문자열로 남습니다. 그래서 노르웨이 버그 같은 함정이 여기서는 대개 사라집니다.
JSON을 다시 YAML로 바꿀 수 있나요?
있습니다. 역방향 토글을 켜면 입력이 JSON, 출력이 YAML이 됩니다. 덤퍼는 중첩된 객체와 배열을 보존하고, 줄 바꿈이 들어간 긴 키는 블록 스칼라(|)로 내보내 가독성을 유지합니다.
날짜와 타임스탬프는 어떻게 처리되나요?
YAML의 날짜·타임스탬프 리터럴은 JSON에서는 ISO 8601 문자열이 됩니다(JSON에는 기본 날짜 타입이 없기 때문). 역방향 모드로 왕복해도 문자열로 유지되며, YAML의 암묵적 날짜 타입으로 되돌리지 않는 편이 안전한 기본값입니다.
들여쓰기 옵션은 어떤 기준으로 고르나요?
2칸은 자바스크립트와 대부분의 API에서 사실상의 표준입니다. 4칸은 Python PEP 8과 맞아 결과를 .py 파일에 끼워 넣을 때 좋고요. 컴팩트(0)는 한 줄 출력이라 HTTP 요청 본문이나 curl 명령에 붙여 넣기 좋습니다. Tab은 실제 탭 문자로 JSON을 들여쓰기해 Go나 Makefile에 편리합니다. YAML은 탭을 쓸 수 없어 역방향 모드에서는 2칸으로 대체됩니다.

관련 도구