yoongrammer

JSON 알아보기 본문

분산컴퓨팅

JSON 알아보기

yoongrammer 2020. 12. 28. 16:51
728x90

목차

    JSON 알아보기


    JSON(JavaScript Object Notation)은 경량의 Data 교환 형식입니다.

    일반적으로 JSON은 손쉬운 데이터 교환이 가장 큰 목적이기 때문에 주로 성능이 크게 중요하지 않을 경우에 사용됩니다.

    JSON 특징

    • JSON은 텍스트로 이루어져 있으므로, 사람과 기계 모두 읽고 쓰기 쉽습니다.
    • JSON은 텍스트 기반이므로 프로그래밍 언어와 플랫폼에 독립적입니다.
    • JSON은 프로그래밍 언어와 플랫폼에 독립적이기 때문에 서로 다른 시스템간에 객체를 교환하기에 좋습니다.

    JSON 구조


    JSON 데이터는 name/value 형태의 쌍으로 이루어집니다.

    이러한 JSON 데이터는 데이터 이름, 콜론(:), 값의 순서로 구성됩니다.

    데이터 이름은 string 이므로, 항상 큰따옴표("")와 함께 입력해야 합니다.

    "데이터이름":값

    데이터의 값으로는 다음과 같은 타입이 올 수 있습니다.

    1. 숫자(number)
    2. 문자열(string)
    3. 불리언(boolean)
    4. 객체(object)
    5. 배열(array)
    6. NULL

    숫자(Number)

    JSON에서 정수, 실수, 지수로 숫자를 표현할 수 있습니다.

    하지만 8진수나 16진수 표현방법은 지원되지 않습니다.

    { 
      "정수":1,
      "실수":3.14,
      "지수":3.4e+4
    }

    문자열(String)

    JSON에서 문자열이란 연속된 문자의 집합입니다.

    • 문자열은 항상 큰따옴표("")로 묶어야 하며, 그 안에는 유니코드 문자들이 나열됩니다.
    • JSON에서는 문자열을 표현할때 오직 큰따옴표("")만 사용할 수 있습니다. 작은따옴표('')는 사용할 수 없습니다.
    • 유니코드 중 역슬래시(\)와 큰따옴표(")는 바로 사용할 수 없으며, 이스케이프 시퀀스로 표현해야 합니다.

    JSON에서 사용할 수 있는 이스케이프 시퀀스

    이스케이프 시퀀스 설명
    \b 백스페이스
    \f 폼 피드
    \n 개행
    \r 캐리지 리턴
    \t
    \" 따옴표
    \/ 슬래시
    \\ 역슬래시
    \uHHHH 16진수 네자리로 되어 있는 유니코드 문자

    아래는 큰따옴표("")를 표현하기 위해 이스케이스 시퀀스(\")를 사용하는 예제입니다.

    {
      "name1":"안녕하세요.",
      "name2":"반갑습니다. \"yoongrammer\"입니다."
    }
    728x90

    불리언(Boolean)

    JSON에서 불리언(boolean)은 true 또는 flase 값으로 표현합니다.

    true와 false는 항상 소문자로 사용해야 합니다.

    {
      "name1":true,
      "name2":false
    }

    객체(Object)

    JSON에서 객체(object)란 name/value 쌍으로 구성된 정렬되지 않은 집합입니다.

    • 객체는 중괄호({})로 둘러쌓아 표현합니다.
    • 데이터 이름은 string 이므로, 항상 큰따옴표("")와 함께 입력해야 합니다.
    • 각 요소들은 쉼표(,)로 구별됩니다.
    • 각 요소가 나타나는 순서는 중요하지 않습니다.
    {
      "name2": 50, 
      "name3": "값3", 
      "name1": true
    }

    배열(Array)

    JSON에서 배열(array)이란 여러 개의 데이터가 순서를 가지고 나열된 집합입니다.

    • 배열은 대괄호([])로 둘러쌓아 표현합니다.
    • 각 요소들은 쉼표(,)로 구별됩니다.
    • 각 요소가 나타나는 순서에는 의미가 있습니다.
    • 객체와 비슷하지만 배열은 데이터의 값만 나열합니다.
    • 배열 인덱스는 0부터 시작합니다.
    {
      "name":[
        "value1",
        "value2",
        "value3"
      ]
    }

    null

    JSON에서 null이란 아무런 값도 가지고 있지 않은 빈 값을 의미합니다.

    null은 항상 소문자로 사용해야 합니다.

    {
      "name":null
    }

    사용 예


    다음은 한 사람에 관한 정보를 갖는 JSON 객체입니다.

    name/value 패턴으로 표현된 것을 확인할 수 있습니다.

    {
      "이름": "홍길동",
      "나이": 25,
      "성별": "여",
      "주소": "서울특별시 양천구 목동",
      "특기": ["농구", "도술"],
      "가족관계": {"#": 2, "아버지": "홍판서", "어머니": "춘섬"},
      "회사": "경기 수원시 팔달구 우만동"
    }

     

    참고:

    ko.wikipedia.org/wiki/JSON

    www.json.org/json-ko.html

     

    728x90

    '분산컴퓨팅' 카테고리의 다른 글

    Raft Consensus Algorithm 알아보기  (0) 2021.01.20
    gRPC 란?  (0) 2020.11.11
    RPC (Remote Procedure Calls) 란?  (0) 2020.11.10
    Protocol Buffer 란?  (0) 2020.11.09
    Comments