[XML] XML과 JSON은 어떤 차이가 있나요?!

Ujeon 🍵
3 min readAug 2, 2021

--

HTTP 요청에 사용되는 데이터 교환 형식에는 대표적으로 XML과 JSON이 있습니다. 둘 다 단순한 데이터를 반환하기 보다는 의미적으로나 논리적으로 구분되는 자료를 모아서 전송하는 데 사용되죠.

XML과 JSON의 특징과 차이점을 살펴보겠습니다.

XML

XML은 HTML의 한계점을 극복하기 위해서 만들어졌으며, 서로 다른 시스템에서 손쉽게 데이터를 주고 받기 위해 만들어 졌습니다.

HTML의 한계점을 극복하기 위해 만들어져서 그런지, HTML과 유사한 형태를 띄고 있죠 :

여는 태그 : <element>
닫는 태그 : </element>
빈 태그 : <element/>

대표적으로 XML을 사용하는 곳은 각 웹사이트의 사이트맵이 있습니다. 아래는 제 포트폴리오의 사이트맵입니다 :

각 태그 사이에 필요한 정보를 담고 있지만, 바로 데이터를 읽을 수 있는 것은 아닙니다. 데이터를 형식에 맞도록 분석하는 과정이 필요한데, 이를 ‘파싱(Parsing)’ 이라 합니다.

예를 들어, iOS에서는 XMLParser 라는 모듈을 사용하여 XML을 파싱하여 데이터를 사용하죠.

XML은 특정 시스템에 의존하는 형식이 아니어서 데이터 표준으로 사용할 수 있다는 장점이 있지만, 태그를 추가해야하기 때문에 데이터 용량이 커진다는 단점이 있습니다.

JSON

JSON은 JavaScript Object Notation의 약자이며, 자바스크립트에서 객체의 속성을 표현하는데 사용되는 방법이었지만, 용량이 작고 간단한 표현 방식 덕분에 현재는 여러 언어에서 데이터 구조를 표현하는데 사용되고 있습니다.

JSON은 키-값 쌍으로 이루어진 데이터 형식입니다. 많은 프로그래밍 언어가 보편적으로 키-값 쌍의 형태로 데이터를 구조화하기 때문에 대부분의 프로그래밍 언어와 호환이 가능합니다.

JSON 형식은 아래와 같이 데이터를 구조화하고 표현합니다 :

XML과 JSON의 차이점?!

XML과 JSON의 예시에서 알 수 있듯이 두 형식 간의 대표적인 차이점은 데이터를 표현하는 방식입니다. 그 외에도 :

● JSON은 타입을 가지고 있지만, XML은 그렇지 않습니다.

● JSON은 네임스페이스를 지원하지 않지만 XML은 네임스페이스를 지원합니다.

● XML에 비해 JSON은 보안에 취약한 면이 있습니다.

● JSON은 UTF-8 인코딩만 지원하지만 XML은 여러 인코딩을 지원합니다.

와 같은 차이점들이 있습니다.

지금까지 XML과 JSON의 특징과 차이점을 간단히 살펴보았습니다! 👏

참고 자료

JSON vs XML: What’s the Difference?

JSON으로 작업하기

https://ko.wikipedia.org/wiki/XML

--

--

Ujeon 🍵

Hi there, this is Ujeon. I want to be a developer who passes on value through development :)