liminfo

YAML to JSON

YAML ↔ JSON 상호 변환

YAML to JSON 소개

YAML to JSON 변환기는 YAML을 JSON으로, JSON을 다시 YAML로 실시간 변환하는 무료 브라우저 기반 도구입니다. 중첩 매핑, 블록 시퀀스, 인라인 배열([a, b, c]), 불리언 및 null 리터럴(true/false/null/~), 정수 및 부동소수점 스칼라, 따옴표 문자열, 블록 스칼라(| 및 >), 주석 줄을 처리하는 자체 제작 YAML 파서를 사용합니다. 외부 YAML 라이브러리가 필요 없으며 파서 전체가 클라이언트 사이드 JavaScript로 실행됩니다.

이 도구는 Kubernetes 매니페스트, Docker Compose, CI/CD 파이프라인, Helm 차트, Ansible 플레이북 같은 YAML 설정 파일과 API 또는 디버깅 도구용 JSON 페이로드 사이를 자주 오가는 DevOps 엔지니어, 백엔드 개발자, 플랫폼 엔지니어가 사용합니다. 분할 패널 레이아웃으로 왼쪽에 YAML, 오른쪽에 JSON을 표시하며 양방향 변환 버튼(YAML → JSON, JSON → YAML)을 제공합니다.

JSON to YAML 변환은 재귀적 직렬화기로 깔끔한 YAML을 생성합니다. 객체는 key: value 쌍으로 펼쳐지고, 배열은 - 목록 항목 접두사를 사용하며, 콜론, 해시, 따옴표가 포함된 특수 문자 값은 자동으로 이중 따옴표로 감쌉니다. 도구를 열면 샘플 데이터(이름, 버전, 기능 목록, 데이터베이스 설정)가 미리 로드되어 문서를 읽지 않고도 입력 형식을 바로 파악할 수 있습니다.

주요 기능

  • 양방향 변환: 별도 버튼으로 YAML → JSON 및 JSON → YAML 변환
  • 중첩 매핑, 블록 시퀀스, 인라인 배열을 지원하는 자체 제작 YAML 파서
  • YAML 불리언 리터럴(true/false/True/False/TRUE/FALSE)과 null(~) 처리
  • 정수 및 부동소수점 스칼라를 네이티브 JSON 숫자 타입으로 변환
  • 파이프(|)와 폴드(>) 다중 줄 문자열 연산자의 블록 스칼라 지원
  • JSON to YAML 출력 시 콜론, 해시, 이중 따옴표를 포함한 문자열 자동 처리
  • YAML과 JSON 각각 개별 복사 버튼이 있는 분할 패널 편집기
  • 도구 열 때 즉시 참조 가능한 샘플 데이터(이름, 버전, 기능, DB 설정) 사전 로드

자주 묻는 질문

이 도구는 모든 YAML 기능을 지원하나요?

설정 파일에서 가장 많이 쓰이는 YAML 구문을 지원합니다: 중첩 객체, 목록, 블록 스칼라, 불리언, null, 숫자, 따옴표 문자열, 인라인 배열. 앵커(&), 별칭(*), 병합 키(<<), 다중 문서 스트림(---) 같은 고급 기능은 현재 지원되지 않습니다.

YAML을 JSON으로 변환하는 방법은?

왼쪽 패널에 YAML을 붙여넣거나 입력한 후 "YAML → JSON" 버튼을 클릭하세요. 변환된 JSON이 오른쪽 패널에 표시됩니다. 복사 버튼으로 JSON을 복사하거나 양쪽 패널에서 계속 편집할 수 있습니다.

JSON을 YAML로 변환하는 방법은?

오른쪽 패널에 유효한 JSON을 붙여넣거나 입력한 후 "JSON → YAML" 버튼을 클릭하세요. 변환된 YAML이 왼쪽 패널에 표시됩니다. 출력은 2칸 들여쓰기를 사용하며 특수 문자가 포함된 문자열은 자동으로 따옴표 처리됩니다.

잘못된 YAML을 입력하면 어떻게 되나요?

예상치 못한 문자나 구조에 대한 파싱 오류 등 무엇이 잘못됐는지 설명하는 오류 메시지가 도구 상단에 표시됩니다. 패널은 내용을 유지하므로 작업을 잃지 않고 입력을 수정할 수 있습니다.

YAML 주석이 JSON 출력에 보존되나요?

아니요. JSON에는 주석 구문이 없기 때문에 YAML 주석(#으로 시작하는 줄)은 파싱 중에 제거됩니다. 다시 YAML로 변환해도 주석은 출력에 포함되지 않습니다.

YAML 불리언은 어떻게 처리되나요?

YAML 불리언 리터럴 true, True, TRUE, false, False, FALSE는 모두 JSON 불리언(true, false)으로 변환됩니다. 마찬가지로 null, Null, NULL, ~는 JSON null로 변환됩니다.

중첩된 Kubernetes 또는 Docker Compose YAML도 변환할 수 있나요?

네. 파서는 Kubernetes 매니페스트와 Docker Compose 파일에서 볼 수 있는 깊이 중첩된 매핑을 처리합니다. 다만 복잡한 매니페스트에 자주 사용되는 YAML 앵커와 별칭은 지원되지 않습니다. 이 경우 js-yaml 같은 완전한 YAML 라이브러리 사용을 고려하세요.

YAML → JSON → YAML 왕복 변환이 손실 없이 이루어지나요?

단순한 구조의 경우 대부분 손실 없이 변환됩니다. 그러나 YAML 주석, 앵커/별칭 정의, 명시적 타입 태그는 왕복 과정에서 사라집니다. 숫자처럼 보이는 문자열(예: YAML의 "1.0")이 JSON에서 숫자로 파싱되어 YAML에서 숫자로 직렬화될 수 있습니다.