YAML에서 JSON 형식으로 변환
yaml 라이브러리(YAML 1.2 core schema)로 YAML 문서 하나를 파싱하여 들여쓰기된 JSON으로 출력합니다. 주석은 제거되고, 앵커와 별칭은 펼쳐지며, yes나 2024-01-01 같은 값은 문자열로 유지됩니다.
YAML로 작성한 설정을 JSON만 받는 API나 JSON Schema 검증기에 보낼 때.
이럴 때 사용하세요
- YAML로 작성한 설정을 JSON만 받는 API나 JSON Schema 검증기에 보낼 때.
- CI나 Kubernetes 파일의 실제 타입을 확인할 때. 예를 들어 버전이 문자열인지 숫자인지.
사용 방법
- YAML 문서 하나를 붙여 넣거나 .yaml/.yml 파일을 불러옵니다.
- 오류가 표시되면 해당 행에서 들여쓰기, 중복 키, --- 구분자를 확인합니다.
- JSON 출력에서 문자열과 숫자를 확인한 뒤 복사합니다.
YAML 입력
# deployment settings service: billing-api replicas: 2 version: "1.10" enabled: yes ports: - 80 - 443 env: LOG_LEVEL: info
JSON
{
"service": "billing-api",
"replicas": 2,
"version": "1.10",
"enabled": "yes",
"ports": [
80,
443
],
"env": {
"LOG_LEVEL": "info"
}
}세부 정보 및 제한 사항
파싱은 브라우저에서 실행됩니다. 출력은 항상 2칸 들여쓰기 JSON이며 압축 옵션은 없습니다.
YAML 1.2 규칙이 적용됩니다. yes/no/on/off는 불리언이 아니라 문자열이고, 따옴표 없는 날짜도 문자열로 유지됩니다. 0o17은 8진수(15)입니다.
병합 키(<<: *anchor)는 병합되지 않고 리터럴 "<<" 키로 나타납니다. 한 매핑 안의 중복 키는 오류입니다.
2^53을 넘는 정수는 JSON에서 정밀도를 잃습니다. YAML에서 긴 ID는 따옴표로 감싸세요.
FAQ
---로 구분된 여러 문서가 있는 파일도 변환할 수 있나요?
아니요. 문서가 여러 개면 "Source contains multiple documents" 오류가 납니다. 한 번에 문서 하나씩 붙여 넣으세요. 맨 앞의 --- 하나는 괜찮습니다.
enabled: yes가 JSON에서 왜 문자열인가요?
파서가 YAML 1.2를 따르며, 여기서는 true와 false만 불리언입니다. JSON 불리언이 필요하면 true/false로 쓰세요.
앵커와 별칭을 지원하나요?
네. *base 같은 별칭은 앵커 값의 복사본으로 대체됩니다. 다만 YAML 1.1의 병합 키 <<는 적용되지 않습니다.