XML (eXtensible Margup Language)이란?
HTML 과 비슷한 문자 기반의 마크업 언어이지만 데이터를 보여주는 것이 목적인 HTML 과 달리 데이터를 저장하고 전달하는 것에만 목적을 둔다
또한 XML 태그는 미리 정의되어 있지 않고 사용자가 직접 정의할 수 있는 것이 특징이다
XML 과 JSON 은 다음과 같은 공통점이 있다
1. 데이터를 저장하고 전달하는 데 목적을 둔다
2. 사람도 쉽게 읽을 수 있다
3. 계층적인 데이터 구조를 갖는다
4. 다양한 프로그래밍 언어로 파싱된다
5. XMLHttpRequest 객체를 이용해 서버로부터 데이터를 전송받는다
이제 XML 과 JSON의 예제를 살펴보자
XML 예제)
<food>
<kind>분식</kind>
<name>김밥</name>
<price>3000</price>
</food>
JSON 예제)
{
"kind":"분식",
"name":"김밥",
"price":3000
}
XML 과 JSON 의 차이점은 다음과 같다
1. JSON 은 종료태그가 없다 ( </name> )
2. JSON 이 더 빨리 쓰고 읽을 수 있다, 간략하다
3. JSON 은 배열을 사용할 수 있다
4. XML 은 XML 파서로 파싱되고, JSON 은 javascript 의 표준함수인 eval() 함수로 파싱된다
5. JSON 은 UTF-8 인코딩을, XML 은 다양한 인코딩 형식을 지원한다
JSON은 문자열을 전송받은 후에 해당 문자열을 바로 파싱하므로, XML보다 처리속도가 빠르다
그래서 HTML과 자바스크립트가 연동되어 빠른 응답이 필요한 웹 환경에서 많이 사용되고 있습니다.
하지만 JSON은 전송받은 데이터의 무결성을 사용자가 직접 검증해야하는 불편함이 있다
요즘 JSON 을 많이 쓰는 추세이지만 데이터의 검증이 필요한 곳에서는 스키마를 사용하여 데이터의 무결성을 검증할 수 있는 XML이 아직도 많이 사용되고 있다 ( ex, 공공기관 )
'Web API' 카테고리의 다른 글
[웹 API] Retrofit이란? (0) | 2021.11.01 |
---|