본문 바로가기

IT 지식 끄적 끄적

XML? JSON?

XML, JSON 개념

 

XML과 JSON의 대한 개념을 간단하게 정리 해 보았다.
둘다 데이터를 구조화하고 전송하는 데 사용되는 형식이다.
 

XML

XML은 HTML과 매우 비슷한 문자 기반의 마크업언어 이다.
HTML처럼 데이터를 보여주는 목적이 아닌, 데이터를 저장하고 전달할 목적으로만 만들어졌다.
태그 중심의 구조로 데이터를 표현하며, 주로 웹 서비스문서 형식으로 사용된다.
XML태그는 HTML태그처럼 미리 정의되어 있지 않고, 사용자가 직접 정의할 수 있다.

<book>
  <title>Harry Potter and the Sorcerer's Stone</title>
  <author>J.K. Rowling</author>
  <year>1997</year>
</book>

XML은 태그로 구성되며 각 태그는 요소를 나타낸다.
<book>은 루트 요소로 사용되고, <title>, <author>, <year>는 그 자식 요소이며,
각 요소는 텍스트로 된 값을 포함한다.
 
 

JSON

JavaScript 객체 표기법을 기반으로 한 경량 데이터 형식으로, 주로 웹 및 모바일 애플리케이션에서
데이터 교환에 사용된다.
문자열을 전송받은 후에 해당 문자열을 바로 파싱하므로, XML보다 더욱 빠른 처리 속도를 보여준다.
HTML과 JavaScript가 연동되어 빠른 응답이 필요한 웹 환경에서 많이 사용된다.
하지만, JSON은 전송받은 데이터의 무결성을 사용자가 직접 검증해야한다.

{
  "book": {
    "title": "Harry Potter and the Sorcerer's Stone",
    "author": "J.K. Rowling",
    "year": 1997
  }
}

JSON은 중괄호콜론(:)으로 구성되며, 의 쌍으로 데이터를 표현한다.
 "book"은 루트 객체를 나타내고, "title", "author", "year"는 그 속성으로 키와 값의 쌍을 이룬다. 
텍스트는 따옴표로 둘러싸여 있으며, 숫자는 따옴표 없이 표현된다.
 
 

JSON과 XML 공통점

- 데이터를 저장하고 전달하기 위함
- 기계뿐만 아니라 사람도 쉽게 읽을 수 있다.
- 계층적인 구조
- 다양한 프로그래밍 언어에 의해 파싱될 수 있다.
- XMLHttpRequest 객체를 이용하여 서버로부터 데이터를 전송받을 수 있다

 
 

* 파싱 (Parsing) ? 컴퓨터과학에서 파싱은 일련의 문자열을 의미있는 토근(token)으로 분해하고,
이들로 이루어진 파스트리(parse tree)를 만드는 과정을 말한다.
-XML파싱기법인 DOM과 SAX
-JSON파싱기법