본문 바로가기
개발

[JSON] JSON이란 무엇인가, 왜 써야 하는가

by 공디. 2019. 9. 26.

JSON(Javascript Object Notion)은 Javascript 객체 문법을 따르는 문자 기반 데이터 형식이다. 언어 종류에 상관없이 데이터를 제어하기 위해 만든 표준 규약 같은 것이다. 서버단과 클라이언트단에서 데이터 통신을 할 때 번거로움을 대폭 줄여주어 XML의 강력한 대체자로 급부상했다.

 

참고로 한국에서는 "제이슨"이라고 읽고 영어권에서는 "제이썬"이라고 읽는다.

 

[관련문서]

https://www.json.org/json-ko.html

https://developer.mozilla.org/ko/docs/Learn/JavaScript/Objects/JSON


 

1. JSON의 자료형식

  • String
  • Number
  • Obejct
  • Array
  • Boolean - true, false
  • Null

※ Javascript의 Undefined와 NaN는 지원하지 않는다.

 

 

2. JSON의 작성법

[
  {
    "name": "Messi",
    "birth": 1987,
    "team": "Barcelona",
    "isCaptain" : true,
    "balonDor" : 6 "times"
  },
  {
    "name": "Salah",
    "birth": 1992,
    "team": "Liverpool",
    "isCaptain" : false,
    "balonDor" : null
  }
 ]

Object와 Array만 지원하기 때문에 시작과 끝은 { } 또는 [ ]를 사용한다. 그 외 모든 문법은 Javascript와 같다.

1) Javascript 문서에 직접 삽입시

const players = [
  {
    "name": "Messi",
    "birth": 1987,
    "team": "Barcelona",
    "isCaptain" : true,
    "balonDor" : 6 "times"
  },
  {
    "name": "Salah",
    "birth": 1992,
    "team": "Liverpool",
    "isCaptain" : false,
    "balonDor" : null
  }
 ]

Javascript 문법과 같기 때문에 별도의 처리없이 복붙해서 쓸 수 있다.

 

2) String을 Object/Array화 하기

console.log(JSON.parse(players)[0].name)

JSON.parse는 String을 Object나 Array화하는 API이다. (예제 return값 : Messi)

 

3) Object/Array를 String화 하기

console.log(JSON.stringify(players))

JSON.stringify는 Object나 Array를 String화하는 API이다.

 

왜 이런 불필요해 보이는 변환과정을 거쳐야 하는지에 대해선 아래 영상에 자세히 나온다.


 

3. 왜 JSON을 써야 할까