도구
KO

JSON YAML 변환기

JSON을 붙여넣으면 설정 파일, Kubernetes 매니페스트, CI 파이프라인에 쓸 수 있는 깔끔하고 읽기 쉬운 YAML이 만들어집니다. 방향을 바꾸면 YAML을 JSON으로 변환할 수도 있습니다.

JSON

YAML

개인정보 보호: 데이터는 브라우저에서만 처리되며 절대 업로드되지 않습니다.

JSON을 YAML로 변환하는 방법

  1. JSON을 붙여넣거나 파일을 엽니다. 입력하는 동안 YAML이 바로 표시됩니다. 들여쓰기는 공백 2칸 또는 4칸 중에서 선택합니다.
  2. 반대로 변환하려면 방향을 YAML → JSON으로 바꾸고 YAML을 붙여넣습니다.
  3. 결과를 복사하거나 .yaml 또는 .json 파일로 다운로드합니다.

JSON vs YAML 비교

JSONYAML
구조{} 중괄호와 [] 대괄호들여쓰기와 - 리스트 항목
문자열항상 큰따옴표 사용필요할 때만 따옴표 사용
주석허용되지 않음# comment
여러 줄 텍스트\n 이스케이프| 기호를 사용한 리터럴 블록
주요 용도API와 데이터 교환설정 파일

YAML 1.2는 JSON의 상위 집합이므로 JSON 문서는 그 자체로 유효한 YAML입니다. 변환기는 대신 더 읽기 쉬운 블록 스타일로 출력합니다.

YAML에서 따옴표가 필요한 값

따옴표 없이 쓴 일부 단어는 YAML에서 타입이 바뀝니다. YAML 1.1 파서에서 yes, no, on, off는 불리언이고, 007과 1e3은 숫자이며, null이나 ~는 null을 뜻합니다. 이것이 유명한 “노르웨이 문제(Norway problem)”입니다. 국가 코드 NO를 따옴표 없이 쓰면 false로 바뀝니다. 변환기는 이런 문자열을 자동으로 따옴표로 감싸므로 YAML을 다시 읽어도 정확히 같은 데이터가 됩니다.

YAML → JSON 변환에서 지원하는 YAML

파서는 설정 파일과 API에서 쓰이는 YAML을 이해합니다. 블록 매핑과 리스트, 따옴표 없는 문자열·작은따옴표 문자열·큰따옴표 문자열, | 및 > 여러 줄 블록, 인라인 [ ] 및 { } 컬렉션, 주석, --- 문서 구분자를 지원합니다. 앵커(&), 별칭(*), 사용자 정의 태그는 지원되지 않는다는 메시지가 줄 번호와 함께 표시됩니다. 여러 문서가 들어 있는 파일은 첫 번째 문서만 변환됩니다.

자주 묻는 질문

YAML은 JSON의 상위 집합인가요?

YAML 1.2는 JSON의 상위 집합으로 설계되었으므로 사실상 모든 JSON 파일은 유효한 YAML이기도 합니다. 반대는 성립하지 않습니다. YAML에는 JSON에 없는 주석, 앵커, 여러 줄 블록이 있기 때문입니다.

YAML을 JSON으로 변환하면 주석이 유지되나요?

아니요. JSON에는 주석이 없으므로 주석은 삭제됩니다. 키, 값, 그리고 그 순서는 유지됩니다.

YAML이 오류로 거부되는 이유는 무엇인가요?

흔한 원인은 들여쓰기에 탭을 사용한 경우(YAML은 공백만 허용), 같은 리스트나 매핑의 항목이 같은 열에서 시작하지 않는 경우, 콜론 뒤에 공백이 빠진 경우입니다. 오류 메시지에서 해당 줄을 알려 줍니다.

YAML 값은 JSON에서 어떤 타입이 되나요?

YAML 1.2 코어 스키마를 따릅니다. true/false는 불리언, null과 ~는 null, 일반 숫자는 JSON 숫자가 되며, yes 같은 단어는 문자열로 유지됩니다. "007" 같은 코드를 텍스트로 유지하려면 YAML에서 따옴표로 감싸세요.