{ }JSONKit.tools

YAML → JSON 변환기

YAML 문서를 붙여넣으면 정렬된 JSON이 돌아옵니다. 파싱 오류에는 행과 열이 붙으므로 깨진 설정을 금방 찾을 수 있습니다.

YAML → JSON⇄JSON → YAML

YAML

JSON

입력을 기다리는 중…

이 도구에 대하여

YAML은 사람이 쓰는 형식이고 JSON은 프로그램이 읽는 형식이라 이 변환은 끊임없이 필요합니다. Kubernetes 매니페스트를 스크립트로 가져오거나, JSON만 이해하는 도구에 CI 설정을 넘기거나, Docker Compose 파일이 실제로 무엇으로 풀리는지 확인할 때입니다. 파싱은 엄격합니다. 앵커는 펼쳐지고, yes와 no 같은 YAML 1.1 불리언은 true와 false가 되며, 주석은 사라집니다. JSON에서는 그중 무엇도 남을 수 없기 때문입니다.

사용 방법

  1. 1YAML을 입력 패널에 붙여넣습니다. 설정 파일이든 매니페스트든 유효하면 됩니다.
  2. 2JSON이 들여쓰기와 색이 입혀진 채로 바로 나타납니다.
  3. 3복사를 눌러 가져갑니다. 반대 방향은 JSON → YAML 페이지가 바로 옆에 있습니다.

자주 묻는 질문

›모든 YAML 파일을 JSON으로 바꿀 수 있나요?

거의 그렇습니다. YAML은 JSON의 상위 집합이라 일반적인 경우는 그대로 대응됩니다. JSON에 대응물이 없는 것은 앵커와 별칭(펼쳐집니다), --- 로 구분된 한 파일 안의 여러 문서, 날짜 같은 타입이 붙은 스칼라, 문자열이 아닌 키입니다.

›YAML이 들여쓰기 오류로 실패하는 이유는?

YAML은 들여쓰기에 탭을 금지하고 공백만 허용합니다. 들여쓰기 어딘가에 탭 문자가 하나만 있어도 문서 전체가 무효가 되는데, 편집기가 눈에 보이지 않게 넣는 경우가 많습니다.

›"yes"가 왜 true가 되었나요?

YAML 1.1은 yes, no, on, off를 불리언으로 다룹니다. 문자열을 의도했다면 따옴표로 감싸세요: "yes". 버전 번호도 마찬가지여서 1.20은 숫자 1.2가 됩니다.

›주석은 보존되나요?

아닙니다. JSON에는 주석 문법이 없으므로 # 뒤의 내용은 변환 과정에서 사라집니다. 주석이 중요하다면 YAML 파일 쪽을 원본으로 유지하세요.

›설정 파일이 서버로 전송되나요?

아닙니다. 파싱은 브라우저에서 이뤄지며, 여기서는 그 점이 특히 중요합니다. YAML 파일은 호스트 이름과 비밀값이 들어간 배포 설정인 경우가 많기 때문입니다.