본문 바로가기

IT/몰라요

JSON, JavaScript Object Notation

1. JSON(JavaScript Object Notation)

 

JSON의 위키백과 내용입니다.

 

JSON(JavaScript Object Notation)은 속성-값 또는 "키-값 쌍"으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷입니다.
비동기 브라우저/서버 통신(AJAX)을 위해, 넓게는 XML(AJAX가 사용)를 대체하는 주요 데이터 포맷입니다. 특히, 인터넷에서 자료를 주고받을 때 그 자료를 표현하는 방법으로 알려져 있습니다.

 

・ 즉, 데이터를 전달하기 위한 파일 형식입니다. 우리가 알고 있는 HTML, XML 같은 형식 중 하나입니다.

 

・ 또한, JavaScript Object Notation이라는 이름에서 알 수 있듯이, 자바스크립트 언어로부터 파생되었기 때문에, 자바스크립의 구문 형식을 따릅니다. 따라서, 자바스크립트의 eval() 또는 JSON.parse를 이용하여 JSON 오브젝트로 이용할 수 있습니다.

 

・ 그리고, JavScript 이외에도 다양한 프로그래밍 언어에서 JSON의 형식을 만들고 읽을 수 있는 라이브러리가 존재하기 때문에, 언어에 종속되지 않고 편하게 데이터를 교환할 수 있는 장점이 있습니다.

2. JSON의 형식

 

・ JSON은 문자열 / 숫자 / null / Boolean / Object / 배열로 6가지의 데이터 타입을 가지고 있습니다.

 

・ API에서 JSON형식을 자주 사용합니다. 예를 들어서 어떠한 request 요청이 있었을 때, 아래와 같은 JSON 형식으로 response를 보낸다면,

 

array = ["BELLSTONE", "BLOG"]
test = Test.find_by(id: 1)
  response = {
      string: "BELLSTONE",
      integer: 0,
      boolean: true,
      null: nil,
      array: array,
      object: object
      }

 

・ 이러한 JSON 형식으로 response 받을 수 있습니다.

 

{
  "string": "BELLSTONE",
  "integer": 0,
  "boolean": true,
  "null": null,
  "array": [
    "BELLSTONE",
    "BLOG"
  ],
  "object": "#<Test:0x49fce30>",
  "object_id": {
    "id": 1,
    "created_at": "2019-03-26 13:56:26 UTC",
    "updated_at": "2019-03-26 13:56:26 UTC"
  },
}

3. JSON 데이터 타입

 

① 문자열

 

{
  "name": "BELLSTONE",
  "type": "IT_BLOG"
}

 

② 숫자

 

・ 숫자는 정수, 지수, 소수점으로 나타낼 수 있습니다.

 

{
  "number": 1,
  "real_number": 0.111
}

 

③ Null

 

{
  "number": 1,
  "is_nul" : null
}

 

④ Boolean

 

・ boolean은 true, false로 구분하지만, 대문자로 사용하면 안 되는 언어도 있기 때문에, 주로 소문자로 사용합니다.

 

{
  "true": true,
  "false": false
}

 

⑤ Object

 

・ 객체는 {}로 둘러싸여 있습니다.

 

{
  "blog": {
     "name" : "BELLSTONE"
     "type_1" : "IT_BLOG"
     "type_2" : "Korea"
     "type_3" : "Japan"
     "date" : {
        created_at : "2019-03-27"
        updated_at : "2019-03-28" 
     }
}

 

⑥ Array

 

・ 배열은 []로 구분되며 컴마(,)로 나열합니다.

 

{
  "Array" : [
      "한국",
      "일본",
      "중국"
            ]
}

 

・ API를 사용할 때 또는 Postman으로 테스트할 때, 직접 입력해야 하는 경우도 있기 때문에, 기본적인 문법을 정리해보았습니다.

 

・ 그럼 끝!