본문 바로가기

쉽게 풀어본 IT 기술

XML 그리고 JSON

XML은 시스템의 데이터 표현에서 가장 많이 사용하는 방식이다.
웹브라우저의 탄생이후 표준적으로 사용한 언어은 HTML이다. 프로그램언어라기 보다는 Markup Language 표현하는 언어이다.  HTML은 로직도 없고, 글자를 또는 표를 그리기 위한 다양한 태그만이 존재한다. HTML은 한정된 태그를 가지고 있다. 물론 HTML로 대부분의 화면을 만들어낼 수 있지만, 확장성이 용이하지 않다는 단점이 있다.

확장성이라는 것은 새로운 태그를 만들어내는 기능을 통해서 무한한 확장이 가능하도록 하였다. 이 언어가 XML이다. X가 eXtensible 이다. 동일하게 Markup Language이고 확장 가능한 형태로 만든 것이다. 필요에 의해서 새로운 태그를 추가할 수가 있다. 그 추가된 태그를 정의하는 파일이 별도로 있다. .dtd이다. 데이터 정의 파일이 함께 네트워크 상을 오가며 새로운 태그를 이해할 수 있게 해준다.

데이터를 나타낼 수 있는 방식은 여러가지가 있지만, 대표적인 것이 XML이고, 이후 가장 많이 사용되는 것이 아마도 JSON일 것이다. 


왜 XML보다 JSON이 더 많이 사용되는 것처럼 보일까?
그것은 아마도 JSON의 심플함에 있을 것이다. XML만 하더라도 데이터 값 양쪽으로 태그가 있다. HTML을 근간으로 했기에 태그라는 것이 없을 수가 없는데, 그 태그를 줄인다 해도 최소한 표현하려면 양쪽에 몇글자씩이 있어야 한다.

JSON의 경우는 태그로 표현하기 보다는 중괄호({) 같은 형식으로 하고, 값을 ','로 나열하기에 그 표현이 간단하다. 프로그램에서 해석하는 것도 어렵지 않기에 XML보다도 선호되어진다. 물론 XML의 경우 통신상에서 사용할 때 그 내용을 축약하기 위해서 WBXML같은 것을 사용하는 경우가 있었다. 데이터를 16진수와 같은 식의 코드로 변경하여 그 값을 보냄으로써 줄일 수가 있는 것이다.

JSON은 JavaScript Object Notation이다. 주로 항목과 값으로 내용을 넣고, 포맷에 맞게 보내면 상대쪽에서 인식을 할 수 있다. 자바스크립트에서 객체들의 값을 표현하기 위해서 만들어진 것이고, 네트워크 상에서 데이트를 교환할 때도 사용이 잘 되고 있다. 오픈 API를 만들어서 값을 보낼 때나 받을 때에도 사용되고, 객체를 저장할 때도 사용이 가능하다. 처음에 볼 때는 XML이 사람이 이해하기에 쉽지만, JSON에 익숙해지면 항목과 값 위주로 있어서 간편하게 이해하기가 쉽다.

JSON은 특정 포맷으로 만들고, JSON을 받으면 해당 값들을 전체 스트림에서 분리하여 해석해야 한다. 이때 JSON에 대한 parse가 필요한데, JSON을 지원하는 함수들을 언어마다 존재한다. 사용을 잘하면 된다. .stringify라는 함수가 있는데, 이것은 객체인 속성에서 string으로 변환을 해주는 함수이다. 출력을 한다거나 문자열 조작을 한다고 했을 때 이렇게 변환을 해서 사용해서 데이터이 유실 없다. .parse는 string 객체를 JSON 객체로 변환해주는 역할을 한다.


책처럼 전체를 보기를 원하시면 아래 링크를 클릭하시고 북마크 하셔서 보시면 편리합니다. 

https://wikidocs.net/22329

'쉽게 풀어본 IT 기술 ' 카테고리의 다른 글

앱 개발 어떻게 하지?  (0) 2018.08.31
오픈소스는 소스 오픈? 왜?  (0) 2018.08.31
웹서비스 vs 웹사이트  (0) 2018.08.31