XML을 우리는 다양하게 사용을 하고 있다. 내가 처음에 XML을 공부할 때는 사람과 기계가 이해할수 있는 언어라고 배웠던 기억이 난다. 지금은 XML파일이 갯수가 워낙에 많고, configuration자체도 복잡하고, well-formed에 대한 포맷을 체크하지 않는 XML이 난무하고 있다.
너무 하나의 데이터 포맷에 휘둘리지 말고, 적절하게 잘 사용을 해야 겠다. 적재적소라는 말이 쉽지 않은 얘기지만, 판단을 할 때 아래 아티클이 작은 도움이 되었으면 좋겠다.
Json이라고 하면 지금 현재 사용하시는 분들도 있지만, 생소하신 분들도 계실겁니다.
한마디로 얘기를 하자면, name과 value쌍이 string형태로 존재하는 데이터 구조입니다. 과거에 C에서 구조체를 생각하시면 될거 같은데, 안에 expression은 조금 틀립니다.
너무도 간단하다..^^
json은 경량형 데이터 타입으로 각광을 받고 있다. XML으로 데이터를 교환할 경우 XML문서로 만드는데 걸리는 시간과 XML포맷으로 받은 클라이언트가 파싱해서 원하는 모습으로 디스플레이하기까지 중압감도 장난이 아니고, 파싱하는 많은 코드들이 들어가야 한다.
하지만, json은 틀리다. string형태의 데이터라 가볍고, 특별한 파싱이 필요하지 않다. 특히, javascript와의 궁합은 환상적이다. 과거에 XML을 더 선호했던 나로서는 json을 선호하게 된 계기가 있다. cross browsing에서 탁월한 선택이라는 생각이 든다. 물론 DOM파싱하는 라이브러리에서도 자유롭다.
XML(DOM)을 파싱하는 라이브러리는 서버에 따라 랭귀지에 따라 브라우져마다 버젼에 따라 조금씩 틀리다. 라이브러리가 바뀔수가 있다는 것은 버그의 가능성을 좀더 크게 한다. 보통 IE를 사용할 경우도 MSXML이라는 파싱하는 라이브러리가 브라우져에 내장이 되어 있다. 내가 본 버젼은 MSXML4.0이었던거 같은데, 3.0에서 4.0으로 갈때 애먹었던 기억이 있다.
FF에서 XML으로 넘어온 데이터를 파싱하한다고 생각을 해보자. 또 IE와는 틀린 라이브러리를 사용할 것이다. 이것은 예기치 못한 버그를 일으킬 가능성이 높아진다.
이제 Json을 사용하자, 버젼이 패치될때 과거 소스의 테스팅, cross browser에서 간단한 포맷으로 예기치 못한 파싱오류 등등의 두려움에서 벗어날 수 있다.
물론, XML 포맷이 필요한 경우도 있다. 100% XML을 대체할 포맷이라고 생각하지는 않는다. 나역시가독성이 뛰어난 XML을 선호하는 편이다.
하지만, 간단한 경우는 가급적 json이라는 새로운(?) 타입으로 사용하려 한다.
이 글을 읽는 분도 json을 사용해보자. 간단하고, 가독성은 유지하면서 cross browser를 지원할수 있고, XML에 비해 파싱하는 수많은 코드를 줄일수 있는 장점을 가진 json의 세계로 빠져보자..^^