XML vs JSON
- XML과 JSON은 모두 애플리케이션 간 데이터 교환에 사용되는 데이터 표현 방법이다.
- XML(Extensible Markup Language)은
데이터를 정의하는 규칙을 제공하는 마크업 언어로,
Tag를 사용하여 데이터 속성과 실제 데이터를 구분짓는다.
<guests>
<guest>
<firstName>John</firstName> <lastName>Doe</lastName>
</guest>
<guest>
<firstName>María</firstName> <lastName>García</lastName>
</guest>
<guest>
<firstName>Nikki</firstName> <lastName>Wolf</lastName>
</guest>
</guests>
- JSON(JavaScript Object Notation)은
오픈 데이터 교환 형식으로, 모든 프로그래밍 언어에 독립적이며
XML에 비해 더 새롭고 유연한 옵션을 제공한다.
{"guests":[
{ "firstName":"John", "lastName":"Doe" },
{ "firstName":"María", "lastName":"García" },
{ "firstName":"Nikki", "lastName":"Wolf" }
]}
Similarities between XML and JSON (XML과 JSON의 공통점)
- Serialization Format 이다.
- 이들 형식을 사용하면, 표준화된 방식으로 다양한 애플리케이션, 플랫폼, 시스템 간 데이터 교환이 가능하다.
Difference between XML and JSON (XML과 JSON의 차이점)
XML | JSON | |
Stands for | - Extensible Markup Language | - JavaScript Object Notation |
History | - 1998년 XML Working Group 개발 | - 2001년 Douglas Crockford와 Chip Morningstar 개발 |
Format | - 다양한 데이터 범주에 대한 Namespace가 있는 트리 구조 |
- Key-Value Pair로 구성되어, Map과 유사한 구조 |
Syntax | - 일부 문자를 Entity Reference 로 대체하여 더 자세한 정보의 제공이 가능 |
- XML 보다 간결하고, 높은 가독성 |
Parsing | - XML Parser를 통한 Parsing | - 표준 JavaScript Function을 통해 Parsing |
Schema Documentation |
- 복잡하고 낮은 유연성 | - 간단하고 유연 |
Data Types | - JSON이 지원하는 모든 Data Types, Boolean, Dates, Images, Namespaces |
- Numbers, Obejct, String, Boolean Arrays |
Ease of Use | - XML Tag 구조는 Read/Write이 복잡하여 파일 크기가 큼 |
- 파일 크기가 작아 데이터 전송 속도가 빠름 |
Security | - 무단 수정과 DTD에 취약하며, XXE 보안 위협이 존재 |
- XML 보다 안전 |
Reference: AWS; What’s the Difference Between JSON and XML?; URL; 2023년 8월 20일 검색.
Reference: AWS; What Is XML?; URL; 2023년 8월 20일 검색.
Reference: AWS; What is JSON?; URL; 2023년 8월 20일 검색.
Reference: GURU99; JSON vs XML – Difference Between Them; URL; 2023년 8월 20일 검색.