JSON → YAML 변환기이란?

JSON to YAML Converter는 JSON 데이터를 더 사람이 읽기 쉬운 YAML 형식으로 변환합니다. YAML은 Docker Compose, Kubernetes, CI/CD 파이프라인 등 설정 파일에 주로 사용됩니다. 중첩 객체, 배열, 여러 줄 문자열을 올바른 YAML 구문으로 처리합니다.

변환기는 내부적으로 js-yaml을 사용해 다중 행 문자열, 앵커, 객체 배열을 구조 손실 없이 처리합니다. 들여쓰기는 2 또는 4 칸(대부분의 설정 파일은 2칸). flow 스타일은 짧은 배열을 한 줄로 두고([a, b, c]), block 스타일은 한 항목씩 줄을 바꿉니다. 버전 관리에서 일관된 결과를 위해 '키 정렬' 옵션도 있습니다.

사용 방법

  1. 1단계 — JSON 데이터를 붙여 넣거나 .json 파일을 업로드합니다. 유효하지 않은 JSON은 변환 전에 감지되어 강조 표시됩니다.
  2. 2단계 — 들여쓰기 너비(2칸 또는 4칸)를 설정하고, 간결한 배열이나 인라인 객체를 위한 플로우 스타일 옵션을 선택합니다.
  3. 3단계 — 구문 강조와 함께 YAML 출력을 확인한 후, 설정 파일에서 사용할 수 있도록 복사하거나 .yaml 파일로 다운로드합니다.

사용 시기

  • package.json이나 tsconfig.json 일부를 CI 도구가 기대하는 YAML 형식으로 옮길 때.
  • API 응답이나 스캐폴드된 JSON으로 쿠버네티스 매니페스트나 Docker Compose 파일을 작성할 때.
  • 오래된 도구의 JSON 설정을 업그레이드된 도구가 쓰는 더 읽기 좋은 YAML로 옮길 때.

결과

CI 파이프라인용 YAML 설정으로 package.json을 변환합니다. JSON을 붙여 넣고 2칸 들여쓰기를 설정하면 중괄호와 따옴표 없이 중첩 의존성이 명확하게 보이는 깔끔한 YAML 출력을 얻을 수 있습니다.

자주 묻는 질문

YAML은 결국 문법만 다른 JSON인가요?
대체로 그렇습니다. YAML 1.2는 JSON의 상위 집합이라 유효한 JSON은 모두 유효한 YAML입니다. YAML은 주석, 다중 행 문자열, 앵커/별칭, 들여쓰기 기반 레이아웃을 추가합니다. 순수 데이터에 한해 두 포맷은 상호 호환됩니다.
2칸 들여쓰기와 4칸 중 무엇이 좋나요?
쿠버네티스, Docker Compose, GitHub Actions, 대부분의 CI 도구는 2칸이 관례입니다. 4칸은 매우 깊게 중첩된 파일에서 가독성이 좋지만 흔치 않습니다. 팀이 이미 쓰는 파일에 맞춰야 diff가 깔끔합니다.
flow 스타일은 언제 쓰는 게 좋나요?
flow 스타일({a: 1, b: 2})은 포트 목록처럼 짧은 원시 값 배열에 알맞습니다. block 스타일로 한 줄에 하나씩 두면 소음처럼 보이기 때문입니다. 사람이 읽거나 수정해야 하는 부분은 block 스타일을 유지하세요.
불리언이나 숫자처럼 보이는 문자열은 어떻게 처리되나요?
YAML의 타입 변환은 공격적이라서 'yes', 'no', 'on', '1.0', 'null' 같은 값이 재해석될 수 있습니다. 변환기는 그런 문자열을 따옴표로 감싸 문자열로 유지하여, 국가 코드 NO가 false가 되는 유명한 '노르웨이' 버그를 피합니다.
JSON과 YAML 사이를 왕복해도 정보 손실이 없나요?
순수 데이터는 구조가 그대로 유지됩니다. 잃는 것은 주석(JSON에는 없음)과 때때로 키 순서입니다. JSON 파서가 순서를 바꿀 수 있기 때문입니다. 순서를 고정하려면 양쪽 모두에서 '키 정렬' 옵션을 켜세요.

관련 도구