XML, JSON, YAML이 뭔가요?
개발을 하다 보면 데이터를 저장하거나 주고받을 때 사용하는 여러 가지 방식이 있다.
그중에서 XML, JSON, YAML은 특히 많이 쓰이는데, 각각 어떤 특징이 있는지 알아보자!
XML (eXtensible Markup Language) - 마크업 언어
- HTML이랑 비슷하게 <태그>를 써서 데이터를 표현하는 방식!
- 책, 문서, 설정 파일 등에 자주 사용된다.
예시 (책 정보 저장)
<book>
<title>초보자를 위한 XML</title>
<author>홍길동</author>
<price>15000</price>
</book>
XML은 이렇게 <태그>로 감싸서 데이터를 저장한다.
XML의 장점과 단점
장점
- 사람이 읽기 쉬운 구조!
- 문서처럼 계층 구조로 표현 가능해서 복잡한 데이터도 저장 가능하다.
- 웹사이트, 문서 저장, 설정 파일 등 여러 곳에서 사용됩니당
단점
- <태그>를 너무 많이 써야 해서 파일이 커지고 복잡해질 수 있음.
- 데이터를 읽어오는 속도가 느릴 수 있다.
JSON (JavaScript Object Notation) - 키:값 형태의 데이터
- 웹에서 데이터를 주고받을 때 가장 많이 사용하는 방식.
- {key: value}(키-값) 형태로 데이터를 저장한다.
예시 (책 정보를 JSON으로 저장)
{
"title": "초보자를 위한 JSON",
"author": "홍길동",
"price": 15000
}
JSON의 장점과 단점
장점
- XML보다 가볍고 빠름 → 웹 개발에서 필수!
- 프로그래밍 언어(JavaScript, Python, Java 등)에서 쉽게 사용 가능하다.
단점
- 주석을 사용할 수 없음 (설명을 넣기 어려움...)
- 너무 많은 데이터를 저장할 때는 구조가 약간 불편할 수도 있다.
YAML (YAML Ain't Markup Language) - 가독성 최강
- 들여쓰기(공백)로 구조를 표현하는 데이터 포맷.
- 보통 설정 파일을 만들 때 많이 사용한다.
예시 (책 정보를 YAML로 저장)
title: 초보자를 위한 YAML
author: 홍길동
price: 15000
YAML의 장점과 단점
장점
- 사람이 읽기에 가장 쉽고 직관적임!
- JSON과 비슷하지만 더 간단하고, 주석도 쓸 수 있음 (# 사용 가능)
- 설정 파일 (Kubernetes, Docker, GitHub Actions 등)에서 자주 사용된다.
단점
- 들여쓰기에 민감해서 실수하기 쉬움.
- JSON보다 속도가 약간 느릴 수도 있다.