Computer Science/Computer Network

[Computer Network] XML vs JSON

lww7438 2023. 8. 20. 17:36

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?; URL2023년 8월 20일 검색.

 

Reference: AWS; What Is XML?; URL2023년 8월 20일 검색.

 

Reference: AWS; What is JSON?; URL2023년 8월 20일 검색.

 

Reference: GURU99; JSON vs XML – Difference Between Them; URL2023년 8월 20일 검색.