DevGang

[WEB] XML, JSON 본문

Study/WEB

[WEB] XML, JSON

별천랑 2021. 4. 11. 19:05

XML

HTML은 한정된 태그를 가지고 있는데 확장성이 용이하지 않다. 동일하게 Markup Language이고 새로운 태그를 만들어내는 기능을 통해 무한한 확장이 가능하도록 한 것이 XML이다. XML은 필요에 의해서 새로운 태그를 추가할 수 있다. 그 추가된 태그를 정의하는 파일이 .dtd이다. 데이터 정의 파일이 함께 네트워크 상을 오가며 새로운 태그를 이해할 수 있게 해 준다. XML은 data를 전달하는 데 포커스를 맞춘 언어. HTML은 data를 표현하는데 포커스를 맞춘 언어.

JSON

데이터를 나타낼 수 있는 방식은 여러 가지가 있지만, 대표적인 것이 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 객체로 변환해주는 역할을 한다.

 

출처 : IT 기술 노트 - WikiDocs

'Study > WEB' 카테고리의 다른 글

[WEB] WS(Web Server) vs WAS(Web Application Server)  (0) 2021.07.14
[WEB] HTTP  (0) 2021.06.08
[WEB] SOAP(Simple Object Access Protocol)  (0) 2021.06.01
[WEB] URI  (0) 2021.02.17
[WEB] REST  (0) 2021.02.17
Comments