본문으로 건너뛰기

YAML을 JSON으로 변환하기

이 도구는 브라우저에서 YAML 파일을 JSON으로 변환해서, 쿠버네티스 매니페스트나 Docker Compose 파일, 스크립트가 JSON으로 읽어야 하는 CI 파이프라인에 쓸 수 있게 합니다. 타입은 YAML 1.2 코어 스키마를 따릅니다. 숫자, true, false, null은 타입을 유지하고, on, yes, no와 2024-01-01 같은 날짜는 문자열로 남는데, 이는 GitHub Actions와 대부분의 현재 도구가 쓰는 것과 같은 방식입니다. 앵커, 별칭, 병합 키(<<)는 해석되고, 모든 별칭은 JSON에 참조가 없기 때문에 전체 복사본으로 풀어 씁니다. 별칭을 풀었을 때 추가되는 문자가 1,000만 자를 넘는 파일이나 자기 자신을 참조하는 파일은 거부됩니다. ---로 구분된 여러 문서가 있는 파일은 문서마다 순서대로 하나씩 JSON 파일이 되고, 마지막에 남은 ---처럼 빈 문서는 건너뜁니다. 주석은 데이터가 아니므로 빠집니다. 파일은 업로드되지 않습니다.

브라우저에서 실행

여기에 파일을 놓으세요

YAML, 최대 50MB

사용 방법

  1. 1 YAML 파일을 고르세요.
  2. 2 들여쓰기를 0에서 8칸 사이로 정하세요. 기본은 2이고 0은 압축입니다.
  3. 3 GRID16이 브라우저에서 문서를 해석하고 변환합니다.
  4. 4 JSON을 내려받으세요.

자주 묻는 질문

숫자나 불리언으로 변환되나요?
네, YAML 1.2 코어 스키마를 따릅니다. 숫자, true, false, null은 타입을 유지합니다. 하지만 on, yes, no와 2024-01-01 같은 날짜는 문자열로 남는데, GitHub Actions와 대부분의 현재 도구가 이렇게 읽기 때문입니다.
앵커, 별칭, 병합 키는 어떻게 되나요?
해석되며, 모든 별칭은 JSON에 참조가 없기 때문에 전체 복사본으로 풀어 씁니다. 별칭을 풀었을 때 추가되는 문자가 1,000만 자를 넘는 파일이나 자기 자신을 참조하는 별칭은 거부됩니다.
여러 문서를 담은 파일은 어떻게 되나요?
---로 구분된 문서마다 순서대로 번호가 매겨진 JSON 파일이 됩니다. 마지막에 남은 ---처럼 빈 문서는 건너뜁니다.
!Ref나 !reference 같은 커스텀 태그는 어떻게 되나요?
작업이 거부됩니다. CloudFormation의 !Ref나 GitLab의 !reference 같은 태그는 그 의미를 해당 도구만 해석할 수 있기 때문입니다.
잘못된 YAML이거나 .inf, .nan이 있으면 어떻게 되나요?
중복된 키, 잘못된 들여쓰기 등 잘못된 YAML은 줄과 열을 포함한 파서 자신의 메시지와 함께 작업을 멈춥니다. .inf, -.inf, .nan도 JSON이 담을 수 없기 때문에 마찬가지로 거부됩니다.
파일이 서버로 업로드되나요?
아니요. 변환은 브라우저에서 이루어지며 파일은 기기를 떠나지 않습니다.