본문 바로가기
Web API

[웹 API] JSON 과 XML

by happyhelen 2021. 9. 11.

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