DevToolPal
한국어

YAML JSON 변환기

YAML을 JSON으로, JSON을 YAML로 변환합니다. 앵커와 다중 문서 파일을 지원하며 오류 위치를 정확히 알려 줍니다.

로컬에서 실행, 업로드 없음

옵션

방향
들여쓰기

입력

0자 · 0 B

출력

0자 · 0 B

기능 소개

이 도구는 YAML을 JSON으로, JSON을 YAML로 변환합니다. YAML은 손으로 읽고 쓰기 쉬워 설정 파일(Kubernetes, Docker Compose, GitHub Actions, OpenAPI 명세)에 널리 쓰입니다. 반면 대부분의 프로그램, API, 브라우저가 받아들이는 것은 JSON입니다. 둘 사이를 변환하면 설정을 검증하거나, 스크립트에 넣거나, API 응답을 읽기 쉬운 설정 파일로 바꿀 수 있습니다.

사용 방법

  1. 입력 상자에 YAML을 붙여 넣거나, .yaml 또는 .yml 파일을 끌어다 놓거나, 예시를 클릭합니다.
  2. 입력하는 동안 JSON이 오른쪽에 나타납니다. 들여쓰기는 공백 2칸 또는 4칸 중에서 고릅니다.
  3. 반대로 변환하려면 방향을 JSON → YAML로 바꿉니다. 긴 문자열은 줄바꿈하지 않으므로 값이 한 줄에 유지됩니다.
  4. 결과를 복사하거나 다운로드합니다.

YAML이 올바르지 않으면 오류에 행과 열이 표시되고, 클릭하면 커서가 그 위치로 이동합니다. 흔한 실수는 들쭉날쭉한 들여쓰기, 들여쓰기에 탭 사용, 콜론 뒤 공백 누락, 같은 매핑 안의 중복 키입니다.

예시

name: devtools
ports:
  - 80
  - 443
database:
  host: db.internal

위 YAML은 다음과 같이 바뀝니다.

{
  "name": "devtools",
  "ports": [80, 443],
  "database": { "host": "db.internal" }
}

알아 두면 좋은 YAML 특성

YAML은 따옴표 없는 값에서 타입을 추측합니다. 3은 숫자, true는 불리언, null과 ~는 null이며, 1.2.0은 올바른 숫자가 아니므로 문자열로 남습니다. "01234" 같은 우편번호처럼 텍스트로 유지하고 싶은 값은 따옴표로 감싸세요. 앵커(&name)와 별칭(*name)으로 블록을 재사용할 수 있으며, 변환기는 이를 JSON에서 완전한 사본으로 펼칩니다. |로 쓴 블록 스칼라는 줄바꿈을 유지하고, >는 여러 줄을 한 문단으로 접습니다.

자주 묻는 질문

› YAML이 서버로 전송되나요?

아니요. YAML 파서는 브라우저에서 실행되므로 Kubernetes 매니페스트, CI 파이프라인, 비밀 값이 든 설정 파일이 기기 밖으로 나가지 않습니다.

› 어떤 YAML 버전을 지원하나요?

현행 표준인 YAML 1.2를 지원합니다. 앵커와 별칭, 블록 및 플로 컬렉션, 여러 줄 문자열, 주석을 모두 처리합니다.

› 문서가 여러 개 들어 있는 파일은 어떻게 되나요?

`---`로 구분된 문서들은 문서마다 요소 하나씩을 가진 JSON 배열로 변환됩니다. 마지막 `---` 뒤의 빈 문서는 무시됩니다.

› JSON을 YAML로 바꿀 때 주석이 유지되나요?

JSON에는 주석이 없으므로 유지할 것이 없습니다. YAML을 JSON으로 바꿀 때는 JSON이 주석을 표현할 수 없으므로 주석이 버려집니다.