본문으로 건너뛰기
yutils
예시

입력 (YAML)

name: yutils
version: 0.1.0
private: true
tools:
  - base64
  - jwt-decode
  - regex-tester

출력 (JSON)

{
  "name": "yutils",
  "version": "0.1.0",
  "private": true,
  "tools": [
    "base64",
    "jwt-decode",
    "regex-tester"
  ]
}

참고

주석·멀티라인 문자열·앵커(anchor `&name` / alias `*name`)도 처리됩니다. JSON에는 주석 개념이 없어 변환 시 자동 제거됩니다.

사용법 / 자주 묻는 질문

이런 경우 사용하세요

  • Kubernetes · GitHub Actions · Docker Compose 등 YAML 설정을 JSON으로 변환해 API 호출에 사용
  • JSON API 응답을 YAML 로 변환해서 사람이 읽기 좋게 정리
  • YAML 들여쓰기 오류 위치를 빠르게 찾기 (변환 실패 메시지 활용)
  • tab vs space, trailing space 같은 YAML 함정 검증
  • 주석을 일부러 떼어내고 싶을 때 (YAML → JSON 한 번 거치면 주석 사라짐)

자주 묻는 질문

Q.주석은 어떻게 처리되나요?
A.YAML → JSON 방향에서는 JSON 스펙상 주석이 없으므로 자동 제거됩니다. JSON → YAML 변환 결과에는 주석이 없습니다(원본 YAML 의 주석은 복원되지 않음).
Q.왜 YAML 파싱이 실패하나요?
A.들여쓰기 불일치(탭/공백 혼용), 따옴표 누락, 콜론 뒤 공백 누락이 가장 흔한 원인입니다. 에러 메시지의 줄 번호를 우선 확인하세요.
Q.YAML 앵커(anchor)도 변환되나요?
A.예. `&base` / `*base` 같은 앵커는 풀린 상태로 JSON 에 직렬화됩니다. 단, 사이클(자기 참조)은 지원되지 않습니다.
재미있는 사실
  • YAML 은 2001년 Clark Evans, Ingy döt Net, Oren Ben-Kiki 가 만들었습니다. 이름은 'Yet Another Markup Language' 의 줄임말로 시작했지만, 후에 'YAML Ain't Markup Language' 라는 재귀 약자로 재정의 — markup 이 아니라 data serialization 임을 강조하기 위해.

    YAML — Official site
  • 유명한 '노르웨이 문제' — YAML 1.1 은 `country: NO` 를 boolean false 로 해석합니다 (NO/no/false/off 등 다 boolean). 노르웨이 국가 코드가 진실값으로 바뀌는 무서운 함정. YAML 1.2 부터 fix 됐지만 1.1 사용 라이브러리가 아직 많아요.

    StrictYAML — Norway problem
  • YAML 1.2 (2009) 는 JSON 의 strict superset — 즉 모든 JSON 문서가 동시에 유효한 YAML. 그래서 yq 같은 도구가 둘 다 처리 가능하고, Kubernetes 처럼 YAML 우선이어도 JSON 그대로 박아도 됩니다.

    YAML 1.2.2 spec