JSON

황희윤·2021년 11월 27일
0

JSON

데이터를 키와 값으로 구성된 객체에 담아 처리하는 규격

  • JSON : JavaScript Object Notation

  • 가공된 JSON 데이터는 텍스트 기반이기 때문에 사람이 쉽게 저장된 데이터를 읽고 수정할 수 있다.

  • JSON을 사용하면 데이터를 쉽게 읽고 수정할 수 있어서 디버깅이 편리하고 생산성도 높아진다.

  • NoSQL 데이터베이스(ex. MongoDB)는 JSON과 유사한 BSON을 사용하고, 관계형 데이터베이스(ex. MySQL)도 정형화되지 않은 데이터를 보관할 때 JSON을 선호한다.

  • JSON은 주석을 지원하지 않는다.


JSON 구조

{ 
   'number' : 123,
   'pi' : 3.14,
   'str' : '문자열 값',
   'object' : {
   	'str2' : '문자열 값2',
      'object' : {
      	'number2' : 123
        }
    },
    'num_array' : [1,2,3]
}
  • 모든 JSON은 중괄호로 사용하거나 배열 형태의 대괄호를 사용하는데, 보통은 중괄호를 많이 사용한다. 배열 안에는 한 가지 타입만을 사용할 수 있어서 제한적이다.

  • 키는 문자열만 사용해야 한다.


JSON 주의사항

  • 빈 값(value)을 null로 표기하는 건 좋지 않다. 왜냐하면 그 값이 어떤 형태의 데이터를 담고 있고, 어떤 타입 인지를 알 수 없기 때문이다.

  • 따라서 숫자는 0으로 표기

  • 문자열은 ""

  • 객체는 {}

  • 배열은 []

  • JSON은 사람이 읽고 수정하기 편한 만큼, 컴퓨터 입장에서는 비효율적이다.

  • JSON이 읽기 편한 텍스트 기반이기 때문에, 이진수로 데이터를 표현하는 기존의 방법보다 데이터를 표현하는 데 비용 소모가 크다.

  • JSON 데이터를 압축하면 이진수 데이터 파일 크기와 비슷해질 수 있지만, CPU 자원을 많이 사용해야 한다.

  • 결국 JSON은 짧은 시간에 많은 데이터를 주고 받아야 하는 상황에는 적합하지 않다.

  • JSON으로 여러 서버와 클라이언트가 통신을 한다면, 서로 다른 메세지 구조나 규격때문에 데이터 형태나 타입이 맞지 않아 오류를 발생시킬 수 있다. 따라서 JSON을 사용하려면 모든 서버와 클라이언트가 동일한 메세지 구조와 규격을 가져야 한다.

profile
HeeYun's programming study

0개의 댓글