JSON에 대한 이해

JSON은 JavaScript Object Notation의 약어로 직역하면 Javascript용 객체를 표기하는 방법을 의미한다.
컴퓨팅 노드에서 데이터를 사용할때 혹은 노드간에 데이터 주고 받을 때 그 데이터는 구조를 가질 수 있는데 그 구조를 정의하는 방법 중 하나이다.

데이터 기술 방식으로 예전부터 사용되는 방식 중 하나로 XML(Extensible markup Language)이 있다.
XML을 이용하면 데이터의 구조를 원하는 형식으로 정의하고 그 형식에 맞게 데이터를 기술할 수 있는데 문제는 XML도 일종의 markup 랭귀지이기 때문에 <tag></tag> 방식으로 기술을 해야하고 이걸 매번 코드로 작성하기가 여간 귀찮은게 아니다.

JSON 표기법을 이용하면 이 지독한 <tag></tag> 방식에서 해당될 수 있기 때문에 보다 쉽고 직관적으로 데이터를 기술할 수 있다.

예를 들어 Tommy가 Alice에게 메시지를 전달하고자 한다고 가정하자.
Message라는 구조 안에 From, To, Title, Body라는 서브 항목이 필요하다.

* XML 표기 방식
1
2
3
4
5
6
7
8
9
<?xml version="1.0"?>
<Message>
    <from>Tommy</from>
    <To>Alice</To>
    <Title>Hello Alice</Title>
    <Body>
        Do you have some money?
    </Body>
</Message>
cs

XML 표기 방식을 이용하면 각 항목마다 <tag></tag>항목을 통해 메시지를 구성해야 한다.

* JSON 표기 방식
1
2
3
4
5
6
7
8
9
10
{
  "Message": {
    "from": "Tommy",
    "To": "Alice",
    "Title": "Hello Alice",
    "Body": "
        Do you have some money?
    "
  }
}
cs

이에 반해 JSON을 이용하면 <tag></tag> 방식에서 해방되어 key: value 방식으로 데이터를 기술할 수 있게 된다.

특히 Node.js와 같은 Back-end를 개발할 경우 XML을 이용하면 수신한 데이터의 XML Parsing이 필요하다. 이에 반해 JSON 방식을 이용하면 수신한 데이터 자체가 JSON 데이터 이고 로직내에서 JSON 객체를 그대로 이용할 수 있다.
MongoDB와 같은 DB를 사용할 경우도 JSON 데이터를 그대로 저장하고 JSON 형태로 바로 읽어서 이용할 수 있으니 생산성도 훨씬 높아진다.


댓글