YAML → JSON 변환
YAML 데이터를 JSON으로 변환합니다. Kubernetes 매니페스트・docker-compose.yml・CI 설정 파일 등 YAML로 작성된 구조를 브라우저에서 즉시 jq 같은 JSON 전용 도구가 처리할 수 있는 형태로 변환합니다.
사용 팁
- Kubernetes 매니페스트나 docker-compose.yml을 그대로 붙여넣으면 구조를 JSON으로 시각화할 수 있어, jq처럼 JSON만 이해하는 명령줄 도구로 조회할 수 있습니다.
- 우편번호나 전화번호처럼 앞자리가 0으로 시작하는 값을 따옴표 없이 입력하면 숫자로 해석되어 앞의 0이 사라지므로, 문자열로 유지하고 싶은 값은 반드시 따옴표로 감싸 주세요.
- 앵커(`&`)・별칭(`*`)이나 `|`・`>` 블록 스칼라를 사용한 복잡한 YAML은 지원하지 않습니다. 붙여넣기 전에 더 단순한 형식으로 다시 작성해 주세요.
- "정렬된 형태로 표시" 체크를 해제하면 줄바꿈 없는 한 줄짜리 JSON으로 출력됩니다. API 요청 본문에 붙여넣을 때처럼 줄바꿈을 넣고 싶지 않은 경우에 유용합니다.
자주 묻는 질문
여담 ― 설정 파일은 왜 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) 자체는 매우 방대해서, 앵커・별칭을 통한 값 재사용, 다중 문서 스트림, 여러 줄 문자열을 표현하는 블록 스칼라 등 고급 기능을 다수 포함합니다. 이 도구는 그 전체 사양을 다루지 않고, 실무에서 자주 등장하는 매핑・시퀀스・기본 스칼라라는 "공통 부분집합"에 집중함으로써 외부 의존성 없이 단순한 구현을 유지하고 있습니다.