XML vs JSON
XML과 JSON에 대해 설명하는 페이지입니다.
Tags
XML, JSON
1. 개요
이번 글에서는 XML과 JSON에 대해 설명하겠습니다.
2. XML이란?
XML은 eXtensible Markup Language의 약자로 데이터를 구조화하고 저장 및 전송하기 위한 마크업 언어입니다.
2.1. XML의 특징
XML의 특징은 다음과 같습니다.
- 태그 기반의 계층적 구조를 형성합니다.
- 트리 구조를 가지며, 반드시 루트 요소 하나로 시작합니다.
- 사람이 읽기 쉬우며 확장이 가능합니다.
- 다양한 시스템 간의 데이터 교환에 사용됩니다.
- 속성(Attribute)과 요소(Element)를 구분하여 사용합니다.
2.2. XML의 장점
XML의 장점은 다음과 같습니다.
데이터 무결성 유지
데이터 설명과 함께 데이터를 전송하므로 데이터 무결성을 유지할 수 있습니다.검색 효율성 향상
검색 엔진의 경우 다른 형식의 문서보다 효율적으로 XML 파일을 정렬하고 분류할 수 있으므로 XML을 사용하면 검색 효율성을 향상시킬 수 있습니다.유연한 애플리케이션 설계
사용자 정의 태그로 복잡한 데이터 구조를 표현할 수 있습니다.
2.3. XML의 용도
XML은 다목적 마크업 언어로 다양한 목적을 위해 사용할 수 있습니다. XML의 주요 용례는 다음과 같습니다.
데이터 전송
XML을 사용하면 동일한 데이터를 서로 다른 형식으로 저장하는 두 시스템 간에 데이터를 전송할 수 있습니다.웹 애플리케이션
웹 애플리케이션을 개발할 때 프로그램 설정 파일 용도로 사용할 수 있습니다.설명서
XML을 사용하여 기술 문서의 구조 정보를 지정할 수 있습니다.데이터 유형
여러 프로그래밍 언어에서 XML을 데이터 유형으로 지원하므로 XML 파일과 직접 작동하는 프로그래밍 언어를 통해 프로그램을 작성하는 것이 가능합니다.
2.4. XML 문법
주요 XML 문법은 다음과 같습니다.
-
모든 XML 요소는 반드시 종료 태그를 가져야 합니다. HTML에서는 다음과 같이 종료 태그를 생략할 수 있습니다.
plaintext1<h1>HTML이와 달리 XML에서는 종료 태그가 없으면 오류가 발생합니다. XML 요소는 종료 태그가 반드시 있어야 하며, 빈 태그의 경우
슬래시(/)를 사용한self-closing을 해야 합니다.xml1<h1>XML</h1> -
XML 태그는 대소문자를 구분합니다.
-
XML 태그를 사용할 때
시작 태그와종료 태그의 대소문자가 모두 같아야 합니다. -
속성 값은 반드시
따옴표로 감싸야 합니다. -
XML은 띄어쓰기를 인식합니다.
3. JSON이란?
JSON이란 JavaScript Object Notation의 약자로 일반적으로 클라이언트와 서버 사이에서 데이터를 주고 받을 때 사용하는 양식입니다. JSON은 데이터를 키-값 쌍의 형태로 표현하는 경량 데이터 형식입니다.
3.1. JSON의 특징
JSON의 특징은 다음과 같습니다.
- 가독성이 높고 구조가 단순합니다.
- 자바스크립트와 호환성이 뛰어납니다.
- 대부분의 프로그래밍 언어에서 쉽게 파싱할 수 있습니다.
- XML보다 데이터 크기가 작아 전송 속도가 빠릅니다.
- 배열과 객체 구조를 쉽게 표현할 수 있습니다.
3.2. JSON의 용도
JSON의 용도는 다음과 같습니다.
데이터 전송
RESTful API에서 데이터를 주고받을 때 JSON 형식으로 주고받을 수 있습니다.웹/모바일 애플리케이션
브라우저 및 모바일 애플리케이션과의 통신이 필요한 경우 JavaScript와의 호환성을 중시할 때 JSON을 활용할 수 있습니다.
3.3. JSON 구조
JSON 구조는 다음과 같이 이루어집니다.
1{
2 "키": "값",
3 "types": "사용할 수 있는 자료형은 string, number, boolean, null, object, array 6개가 존재합니다.",
4 "string": "문자열 값",
5 "number": 20240717,
6 "boolean": true,
7 "null": null,
8 "object": {
9 "key1": 3.14159265358979323846264338,
10 "key2": false,
11 "key3": {
12 "key4": "value",
13 "key": "value2"
14 }
15 },
16 "array": [
17 "12351",
18 {
19 "key1": 1,
20 "key2": "value"
21 },
22 ["1", "2", "3"]
23 ]
24}JSON 구조의 특징은 다음과 같습니다.
- JSON 구조는 위와 같이 키-값 쌍으로 이루어져 있습니다.
- 키와 값은
:으로 구분합니다. - 값으로 사용할 수 있는 자료형은
string, number, boolean, null, object, array의 6가지가 존재합니다. - 날짜 및 시간 데이터를 지원하지 않습니다.
- 주석을 사용할 수 없습니다.
- 객체 내에 또 다른 객체나 배열을 사용할 수 있습니다. 마찬가지로 배열 내에 또 다른 배열을 사용할 수 있습니다.
4. 결론
XML과 JSON을 표로 비교하면 다음과 같습니다.
| 비교 항목 | XML | JSON |
|---|---|---|
| 데이터 구조 | 트리(Tree) 구조 | 키-값(Key-Value) 쌍 |
| 가독성 | 복잡할 수 있음 | 단순하고 직관적 |
| 파싱 속도 | 상대적으로 느림 | 빠름 |
| 데이터 크기 | 상대적으로 큼 | 경량화됨 |
| 데이터 타입 | 텍스트 중심, 타입 명시 불가능 | number, boolean, null 등 지원 |
| 사용 분야 | 웹 서비스, 문서 저장 | REST API, 웹 애플리케이션, 모바일 앱 |
