연예이슈

JSON과 YAML 차이점, 이 글 하나로 완벽 정리! (예시까지 한눈에)

오이슈다 2026. 7. 2. 14:37
반응형

개발 공부를 하다 보면 JSON과 YAML이라는 이름을 정말 자주 만나게 되죠. 설정 파일을 열었더니 중괄호가 잔뜩 있거나, 반대로 들여쓰기만 깔끔하게 되어 있는 걸 본 적 있으신가요? 😊 오늘은 이 둘의 차이점과 실제 사용 예시를 친구에게 설명하듯 쉽게 풀어드릴게요. 다 읽고 나면 "아, 이럴 땐 이걸 쓰면 되겠구나!" 하고 딱 감이 잡히실 거예요.

 

 

 

 

 

 

 

▍ JSON과 YAML, 대체 뭐 하는 애들일까? 🤔

 

둘 다 데이터를 텍스트로 정리해서 주고받는 형식이에요. 어렵게 말하면 '데이터 직렬화 포맷'이라고 부르죠. 쉽게 말하면, 컴퓨터끼리 혹은 사람과 컴퓨터가 정보를 깔끔하게 나눠 갖기 위한 '약속된 표기법'이라고 보면 돼요.

먼저 JSON은 'JavaScript Object Notation'의 줄임말이에요. 2000년대 초반 더글라스 크록포드(Douglas Crockford)가 만들었고, 자바스크립트 문법을 기반으로 하고 있어요. 지금은 웹 API의 사실상 표준 형식으로 자리 잡았죠. 👍

YAML은 재밌게도 'YAML Ain't Markup Language(야믈은 마크업 언어가 아니야)'의 줄임말이에요. 이름부터 위트가 넘치죠? 사람이 읽고 쓰기 편하도록 설계된 게 가장 큰 특징이에요.

 

 

▍ 가장 큰 차이: 생김새부터 다르다 ✨

 

둘의 차이를 가장 빨리 이해하는 방법은 나란히 놓고 보는 거예요. 똑같은 정보를 두 형식으로 표현해볼게요.

 

 

▍ JSON은 이렇게 생겼어요

 

JSON은 중괄호 { }, 대괄호 [ ], 그리고 큰따옴표를 사용해요. 예를 들면 이런 식이죠.

{ "이름": "홍길동", "나이": 30, "취미": ["독서", "코딩"] }

보시다시피 기호가 꽤 많죠? 기계 입장에서는 구조가 명확해서 좋지만, 사람 눈에는 살짝 복잡해 보일 수 있어요.

 

 

 

 

 

▍ YAML은 이렇게 생겼어요

 

반면 YAML은 들여쓰기(공백)로 구조를 표현해요. 마치 파이썬 코드처럼요. 위와 똑같은 내용을 YAML로 쓰면 이렇게 됩니다.

이름: 홍길동

나이: 30

취미:

- 독서

- 코딩

훨씬 눈에 편하게 들어오죠? 중괄호도, 큰따옴표도 거의 없어요. 그래서 사람이 직접 수정하는 설정 파일에서 특히 사랑받는답니다. 💡

 

 

▍ 핵심 차이점 5가지, 표처럼 정리해볼게요 📋

 

말로만 하면 헷갈리니까, 중요한 차이만 콕콕 집어드릴게요.

가독성: YAML이 사람 눈에 더 편해요. 반면 JSON은 기계가 처리하기 편하게 설계됐죠.

주석 지원: YAML은 # 기호로 주석을 달 수 있어요. JSON은 주석을 아예 지원하지 않아요. (크록포드가 일부러 뺐다고 해요.)

파일 크기: 같은 내용이라도 YAML이 보통 20~30% 정도 더 짧아요.

처리 속도: JSON이 훨씬 빨라요. YAML은 문법이 복잡해서 파싱(해석) 속도가 느린 편이에요.

포함 관계: 사실 YAML은 JSON을 품고 있어요. YAML 1.2 기준으로, 모든 유효한 JSON은 그대로 유효한 YAML이 됩니다!

 

 

 

 

 

▍ 그래서 언제 뭘 쓰면 될까? 🎯

 

이게 제일 궁금하시죠? 상황별로 정리하면 아주 간단해요.

 

 

▍ JSON이 어울리는 순간

 

기계끼리 빠르게 데이터를 주고받아야 할 때는 JSON이 정답이에요. 대표적으로 이런 곳에서 활약하죠.

웹 API 통신 (서버와 브라우저가 데이터 주고받기)

대량의 데이터를 빠르게 처리해야 하는 작업

거의 모든 프로그래밍 언어가 기본 지원하니 호환성이 최고예요

 

 

▍ YAML이 어울리는 순간

 

반대로 사람이 직접 열어보고 손으로 고치는 설정 파일에는 YAML이 훨씬 편해요. 실무에서 이런 도구들이 YAML을 씁니다.

도커(Docker), 쿠버네티스(Kubernetes) 설정

깃허브 액션(GitHub Actions), CI/CD 파이프라인

앤서블(Ansible) 같은 자동화 도구

주석을 달 수 있으니 "이 설정은 왜 이렇게 했는지" 메모를 남길 수 있는 것도 큰 장점이에요. 😊

 

 

 

 

 

▍ YAML 쓸 때 조심할 점 ⚠️

 

YAML이 편하긴 한데, 초보자를 살짝 당황하게 만드는 함정이 몇 개 있어요. 미리 알아두면 좋아요.

첫째, 들여쓰기에 매우 예민해요. 공백 하나만 어긋나도 에러가 나요. 게다가 탭(Tab) 문자는 금지고 반드시 스페이스를 써야 해요. 둘째, 타입이 자동으로 바뀌는 함정이 있어요. 예를 들어 yes나 NO를 그냥 쓰면 문자열이 아니라 참/거짓 값으로 해석될 수 있어요. 이럴 땐 따옴표로 감싸주면 안전하답니다.

셋째, 보안 이슈예요. 신뢰할 수 없는 YAML을 잘못 읽으면 위험할 수 있어서, 파이썬 같은 경우 safe_load()를 쓰라고 권장해요. JSON은 구조가 단순해서 이런 걱정이 상대적으로 적은 편이에요.

 

 

▍ 마무리: 정답은 '상황에 따라 다르다' 🙌

 

정리하면, JSON과 YAML의 차이점은 결국 '누구를 위한 형식이냐'로 나뉘어요. 기계끼리 빠르게 통신할 땐 JSON, 사람이 편하게 읽고 고칠 설정 파일엔 YAML! 이렇게 기억하시면 대부분의 상황에서 헷갈리지 않을 거예요. 물론 어느 쪽이 무조건 낫다기보다는, 쓰임새에 맞게 고르는 게 핵심이랍니다.

이제 설정 파일을 열었을 때 "아, 이건 YAML이구나!" 하고 알아볼 수 있겠죠? 다음에 코드를 짤 때 오늘 배운 내용을 떠올리며 직접 두 형식을 비교해보세요. 백문이 불여일견, 한 번 써보면 확실히 감이 옵니다. 도움이 되셨다면 즐겨찾기 해두고 필요할 때 다시 찾아오셔도 좋아요! 👍

 

반응형