XML은 이기종간의 데이터 교환을 위해 만들어진 기술이다. 어떤 서버의 어떤 DBMS를 사용한다고 하더라도 XML의 형태로 데이터를 변환해서 넘겨받으면 DOM의 형태로 접근이 가능하므로 어떤 언어에서도 분석과 활용이 가능하다. 또한 XML 문서만 봐도 이 XML 문서에 저장된 데이터의 계층구조나 어떤 종류의 데이터가 저장되었는지를 파악하기 쉬운 형태로 구성되어 있다.
실제로 웹 서비스를 이용하여 많은 곳에서 필요한 데이터를 제공받아 사용하고 있다.
웹 서비스로 데이터를 제공하는 대표적인 곳은 https://www.data.go.kr
사이트이다. Open API, 데이터셋등의 형태로 데이터를 제공한다.
우리가 앱의 형태로 볼 수 있는 약국찾기, 버스 노선도, 지하철 노선도... 등 등이 모두 이러한 형태로 제공되는 데이터를 받아 만들어진 것이다.
그러나 아쉬운 점은 DOM을 이용해서 파싱하고 자바스크립트에서도 DOM함수를 이용하여 작업해야 하므로 복잡하다.
서버에서 값을 XML처럼 받을 수 있고 좀 더 쉬운 방법으로 접근하는 방법을 고민하며 만들어진 데이터 통신방법이 바로 JSON이다. JSON은 JavaScript Object Notation로 자바스크립트에서 객체처럼 다룰 수 있다.
우선 XML과 JSON을 비교해보자.
XML은 다음과 같은 형태로 데이터를 구성한다. HTML태그와 동일한 형태로 구성되었으며 태그는 name을 태그와 태그 사이에 정의한 콘텐츠는 value를 나타낸다. 또한 문서만 보더라도 어떤 데이터를 표현하는지 바로 알 수 있다.
위와 같은 XML을 JSON의 형태로 변경해 보도록 하겠다.
JSON은 텍스트파일의 형태며 XML보다 데이터를 분석하고 해석하는데 리소스를 더 적게 사용한다. 그래서 공공데이터 포털에서도 JSON과 XML 두 종류의 데이터를 제공해주고 있다.
JSON의 특징은 다음과 같다.
1. 자바스크립트에서 제공되는 객체와 동일한 유형이다.
2. XML보다 경량으로 데이터를 교환하기 위한 기법이다.
3. 이해하기 쉽고 독립적이므로 어떤 언어에서도 사용할 수 있다.
4. 웹상에서 데이터를 주고 받을 때 주로 사용한다.
5. MIME타입은 application/json이며 파일 확장자는. json이다..
XML과 JSON의 비슷한 점은 다음과 같다.
1. 정의된 태그와 내용만 봐도 어떤 데이터를 표현하는지 알 수 있다.
2. 계층구조를 가지고 있다.
3. 많은 언어에서 파싱 해서 사용할 수 있도록 지원하고 있다.
4. XMLHttpRequest를 이용해서 추출할 수 있다.
XML과 JSON의 차이점은 다음과 같다.
1. JSON은 XML처럼 end tag를 사용하지 않는다.
2. XML보다 읽고 쓰는 작업을 빠르게 할 수 있다.
3. XML보다 경량의 데이터이다..
4. 배열로 사용할 수 있다.
5. XML은 파싱 하기 위해 별도의 라이브러리가 있어야 하나 JSON은
자바스크립의 표준 라이브러리로 지원되는 파서를 이용하여 파싱 할
수 있다.
'웹 > json' 카테고리의 다른 글
JSON Validator (0) | 2019.08.11 |
---|---|
자바에서 JSON객체 작성하기 (0) | 2019.08.11 |
자바스크립트에서 JSON파싱하기 (0) | 2019.08.11 |
JSON의 문법 (0) | 2019.08.11 |