·4분 읽기

맥용 YAML to JSON 변환기

Kubernetes 매니페스트, CI 파이프라인, 설정 파일은 모두 YAML을 사용하지만, 데이터를 검사하기 위해 실제로 필요한 도구는 보통 JSON을 기대합니다.

YAML은 인프라 곳곳에 있습니다 — Kubernetes 매니페스트, GitHub Actions 워크플로, Docker Compose 파일, Ansible 플레이북. 읽기 쉽고 간결하지만, 들여쓰기가 모호해지거나 공백 대신 탭이 들어가거나 JSON만 이해하는 도구에 데이터를 넣어야 할 때까지만 그렇습니다.

둘 사이를 손으로 변환하는 것은 기계적이지만 지루한 작업입니다: YAML의 들여쓰기 기반 중첩이 JSON의 중괄호와 대괄호로 바뀌어야 하고, 따옴표 없는 YAML 문자열에는 따옴표가 필요하며, YAML의 더 관대한 문법(따옴표 없는 불리언, 여러 줄 문자열, 앵커와 참조)이 항상 JSON의 더 엄격한 규칙에 깔끔하게 대응되는 것도 아닙니다.

두 형식이 모두 필요한 이유

읽고 버전 관리하기 쉽다는 이유로 Kubernetes 매니페스트를 YAML로 작성하지만, JSON을 기대하는 스크립트나 API 호출, jq 파이프라인에 넣기 위해 JSON 버전이 필요할 수 있습니다. 또는 CI 파이프라인의 YAML 설정이 예상대로 파싱되지 않는 이유를 디버깅하고 있는데, 아래에 있는 JSON 구조를 보면 공백에 민감한 YAML이 때때로 그렇지 않은 방식으로 실제 중첩을 명확하게 만들어 줍니다.

형식 간 즉시 변환하기

Bellows는 41가지 개발자 도구 중 하나로 YAML to JSON 변환기를 포함합니다. YAML을 붙여넣으면 중첩과 타입이 그대로 보존된 동등한 JSON 구조를 즉시 얻을 수 있습니다 — 수동 재포맷팅도, 들여쓰기 수준을 추측할 필요도 없습니다.

Bellows YAML to JSON converter tool on macOS

Kubernetes와 CI 설정 디버깅하기

매니페스트가 예기치 않게 동작할 때, 기저의 JSON 구조를 보면 YAML이 실제로 어떻게 중첩되었는지에 대한 모호함이 사라집니다 — 잘못 놓인 들여쓰기가 조용히 어떤 키가 어느 부모 객체에 속하는지 바꿔놓았을 때 유용합니다.

스크립트에 설정 값 넣기

많은 스크립팅 및 자동화 도구는 YAML보다 JSON을 더 자연스럽게 다룹니다. 설정 파일을 한 번 변환해서 JSON 출력을 다운스트림으로 전달하는 것이, 파이프라인의 모든 스크립트에 YAML을 직접 파싱하도록 가르치는 것보다 대체로 더 간단합니다.

Mac App Store에서 Bellows 받기

다음 기사

Bellows

41 developer tools in one native Mac app — JSON, JWT, Base64, hashes, and more.

Get Bellows on the Mac App Store