이전에, 블로그에 XMLHttpRequest 객체에 대하여 작성한 적이 있었습니다. XML 파일을 이용하여 데이터를 받았습니다. XML만큼 전송에서 많이 쓰는 JSON 파일도 있습니다. 두 가지 문법과 방식에 차이에 대하여 알아보도록 하겠습니다.
XML (eXtensible Markup Language)
<family>
<member>
<firstName>Kim</firstName>
<lastName>Narae</lastName>
</member>
<member>
<firstName>Lee/firstName>
<lastName>Ujin</lastName>
</member>
<member>
<firstName>Kim</firstName>
<lastName>Daewu</lastName>
</member>
</family>
XML은 데이터를 저장하고 전달하기 위해 만들어졌으며 저장되는 데이터의 구조를 표현하기 위한 언어입니다.
HTML의 문법과 매우 비슷한 마크업 언어입니다. HTML과 차이점은 XML태그는 HTML태그와 같이 미리 정의 되어있지 않으며 사용자가 직접 정의할 수 있습니다. 이것은 좋은 확장성을 보입니다. 데이터를 보여주는 목적이 아닌 데이터를 전달하는 목적으로 사용할수 있습니다.
XML 사용 예시 - XHTML, SVG, RSS, RDF
JSON (JavaScript Object Notation)
{"member":[
{ "firstName":"Kim", "lastName":"Narae" },
{ "firstName":"Lee", "lastName":"Ujin" },
{ "firstName":"Kim", "lastName":"Daewu" }
]}
JSON은 데이터를 쉽게 전송하고 저장하기 위해 구현된 텍스트 기반의 전송방식입니다.
텍스트 기반이기 떄문에 어떠한 프로그래밍 언어에서도 데이터를 사용할 수 있습니다. JSON은 XML의 대안으로서 데이터를 쉽게 교환하고 저장하기 위해 고안되었습니다. JSON은 자바스크립트를 확장하여 만들어졌으며 자바스크립트의 객체 표기방식을 따라갑니다.
두 포맷의 공통점 차이점
우선 XML과 JSON의 공통점은 다음과 같습니다.
- 데이터를 저장 및 전달을 위해 고안된 포맷입니다.
- 기계뿐만 아니라 사람도 쉽게 읽을 수 있습니다.
- 계층적인 데이터 구조를 가집니다.
- 다양한 프로그래밍 언어를 통하여 파싱될 수 있다.
XML과 JSON의 차이점은 표로 정리 해보았습니다.
XML | JSON | |
인코딩 | 다양한 인코딩 형식 지원 | UTF-8 |
안정성 | ▲ (비교적 높다) | ▼ (비교적 낮다) |
읽기/쓰기 속도 | ▼ (빠르다) | ▲ (느리다) |
구문 길이 | ▼ (길다) | ▲ (짧다) |
파싱 | XML DOM객체로 파싱 (속도 ▼) |
eval()함수로 파싱 (속도 ▲) |
네임 스페이스 지원 여부 | O (확장성 ▲) | X (확장성 ▼) |
배열 제공여부 | X | O |
데이터 표시 지원 여부 | O | X |
종료태그 사용여부 | O | X |
두 포맷의 차이에 대해 무엇이 더 좋다라는 생각도 좋지만 상황에 따라 더 장점이 있는 것을 선택한다. 이런느낌으로 보시면 좋을 것 같습니다.
'컴퓨터 > 컴퓨터 관련 지식' 카테고리의 다른 글
Morse Code - 모스 부호에 대하여 알아보자 (1) | 2024.02.26 |
---|---|
정보경영 - ERP란 무엇인가? (0) | 2023.09.01 |
임베디드 - 아두이노(MCU) vs 라즈베리파이(MPU) (0) | 2022.07.30 |
RAID - 저장장치를 여러 개 사용하자 (RAID의 종류와 구성방식) (0) | 2022.05.16 |
개발용어 - 라이브러리(Library) vs 프레임워크(Framework) (0) | 2021.11.27 |