YAML → JSON 변환

YAML 데이터를 JSON으로 변환합니다. Kubernetes 매니페스트・docker-compose.yml・CI 설정 파일 등 YAML로 작성된 구조를 브라우저에서 즉시 jq 같은 JSON 전용 도구가 처리할 수 있는 형태로 변환합니다.

사용 팁

  • Kubernetes 매니페스트나 docker-compose.yml을 그대로 붙여넣으면 구조를 JSON으로 시각화할 수 있어, jq처럼 JSON만 이해하는 명령줄 도구로 조회할 수 있습니다.
  • 우편번호나 전화번호처럼 앞자리가 0으로 시작하는 값을 따옴표 없이 입력하면 숫자로 해석되어 앞의 0이 사라지므로, 문자열로 유지하고 싶은 값은 반드시 따옴표로 감싸 주세요.
  • 앵커(`&`)・별칭(`*`)이나 `|`・`>` 블록 스칼라를 사용한 복잡한 YAML은 지원하지 않습니다. 붙여넣기 전에 더 단순한 형식으로 다시 작성해 주세요.
  • "정렬된 형태로 표시" 체크를 해제하면 줄바꿈 없는 한 줄짜리 JSON으로 출력됩니다. API 요청 본문에 붙여넣을 때처럼 줄바꿈을 넣고 싶지 않은 경우에 유용합니다.

자주 묻는 질문

jq처럼 JSON만 다루는 명령줄 도구로 Kubernetes 매니페스트나 CI 설정 파일 내용을 조회・가공하고 싶을 때, 또는 API나 스크립트가 JSON만 허용하고 YAML을 직접 받을 수 없을 때 먼저 JSON으로 변환해두면 편리합니다.

지원하지 않습니다. 이 도구는 자주 쓰이는 표기(매핑・시퀀스・기본 스칼라 값)만 다루는 경량 파서이므로, 값 재사용을 위한 앵커・별칭이나 다중 문서 스트림, `|`・`>` 블록 스칼라는 지원 범위 밖입니다.

가장 흔한 원인은 들여쓰기가 어긋난 경우입니다. 같은 계층의 항목인데 공백 수가 다르거나, 탭 문자로 들여쓰기를 한 경우 해석할 수 없습니다. 또한 `key: value`에서 콜론 뒤에 공백이 없어도 해석에 실패합니다.

이 도구는 YAML→JSON 방향만 지원합니다. JSON 자체를 정렬하거나 YAML끼리 정렬・검증하고 싶다면 사이트 내 다른 포맷터 도구를 이용해 주세요.
ツールくん

여담 ― 설정 파일은 왜 YAML로 쓰고, 도구는 왜 JSON을 요구할까

YAML은 주석을 쓸 수 있고 따옴표도 대부분 생략할 수 있어 가독성이 높기 때문에, Kubernetes・docker-compose・GitHub Actions 워크플로・Ansible 플레이북 등 사람이 직접 편집하는 설정 파일 형식으로 널리 쓰입니다. 반면 JSON은 사양이 작고 모호함이 적어 프로그램이 기계적으로 처리하기 쉬워, API 데이터 교환과 jq 같은 명령줄 도구의 표준 입력 형식으로 자리 잡았습니다.

YAML→JSON 변환은 "사람은 YAML로 쓰고, 도구는 JSON을 원한다"는 이 간극을 메워줍니다. 특히 Kubernetes 매니페스트는 수백 줄에 이르는 경우도 있어, `grep`만으로 원하는 값을 찾기에는 금방 한계에 부딪힙니다. 먼저 JSON으로 변환한 뒤 jq로 조회하면 `.spec.containers[].image`처럼 경로를 지정해 필요한 값만 순식간에 꺼낼 수 있습니다.

다만 YAML 사양(YAML 1.2) 자체는 매우 방대해서, 앵커・별칭을 통한 값 재사용, 다중 문서 스트림, 여러 줄 문자열을 표현하는 블록 스칼라 등 고급 기능을 다수 포함합니다. 이 도구는 그 전체 사양을 다루지 않고, 실무에서 자주 등장하는 매핑・시퀀스・기본 스칼라라는 "공통 부분집합"에 집중함으로써 외부 의존성 없이 단순한 구현을 유지하고 있습니다.

→ 모든 여담 보기