JSON, YAML, GraphQL은 각각 목적이 다르고, 사용하는 맥락도 달라서 장단점을 제대로 아는 게 중요해요.

JSON (JavaScript Object Notation)

뭐에 쓰나?

  • 웹 API (REST API)

  • 프론트엔드-백엔드 데이터 통신

  • 설정 파일 (package.json, tsconfig.json 등)

장점

  • 범용성: 거의 모든 언어에서 기본 지원

  • 간단한 구조: Key-Value로 직관적

  • 빠름: 파싱 속도가 빠름 (기계 친화적)

  • 디버깅 쉬움: 크롬에서 JSON 바로 보기 가능

단점

  • 주석 불가: 설정 파일에서 설명 못 씀

  • 사람 눈엔 조금 딱딱함: 큰 구조는 읽기 불편

  • 데이터만 있음: 쿼리 기능 없음 (GraphQL과 비교시)


YAML (YAML Ain’t Markup Language)

뭐에 쓰나?

  • CI/CD 설정 (.github/workflows/, GitLab, Jenkins)

  • Docker (docker-compose.yml)

  • Kubernetes (k8s manifest)

장점

  • 가독성 최고: 들여쓰기 기반으로 사람 눈에 편함

  • 주석 가능:  # 써서 설명 달 수 있음

  • 구조 표현 유연: 리스트, 중첩 표현 잘됨