이쿠의 슬기로운 개발생활

함께 성장하기 위한 보안 개발자 EverNote 내용 공유

코딩/C and C++

JSON

이쿠우우 2020. 9. 13. 11:35
반응형

JSON이란?

JavaScript Object Notation 

데이터 교환용으로 설계된 텍스트 기반 개방형 표준 데이터 포멧

C/C++, JAVA, Python 등 수많은 프로그래밍 언어에서 쉽게 이용할 수 있음

 


C++에서 JSON 사용법 글 이동 

C++에서 JSON 


용도

데이터 Parsing 으로

데이터를 받아서 객체나 변수로 할당해서 사용하기 위함

 


 

JSON 데이터

데이터는 이름과 값의 쌍으로 이루어짐

데이터는 쉼표(,)로 나열

데이터는 이름과 값의 쌍으로 구성이됨

데이터 이름, 콜론(:), 값의 순서로 구성됨

 

[예제]

"데이터 이름" : 값
"과일" : "사과"

 

 

기본 자료형

수 (Number)

정수 (integer)

실수 (fraction)

지수 (exponent)

매우 큰수나 매우 작은 수를 표현할 때 e표기법을 사용

예제 = 5.123e+2

참고 = JSON에서는 8진수나 16진수 등을 표현하는 방법은 제공하지 않음

 

 

문자열 (String)

항상 큰 따옴표로 묶어야 하며, 그 안에는 유니코드 문자들이 나열

이스케이프 시퀀스(escape sequence) 사용

 

 

참/거짓 (Boolean)

대소문자 구분없음

[예제]

True, TRUE, False, FALSE 사용가능
true = 1 , false = 0 으로 대체 가능

 

 

 

객체 (Object)

JSON에서 객체란?
데이터 이름과 값의 한쌍으로 구성된 Property의 정렬되지 않은 집합을 의미

객체는 중괄호 ( { } ) 로 표현.

Property는 데이터 이름과 값의 한쌍으로 이루어져 있음.

객체는 쉼표 ( , ) 를 사용해서 여러 Property를 가질 수 있음.

 

[예제]

{
    "name": "짱구",
    "age": 5,
    "weight": 20
}

 

JSON에서 데이터 이름과 대응되는 값으로 기본 자료형 뿐만 아니라 객체도 올 수 있음

 

[객체 안의 객체 형식 예제]

{
    "dog": {
        "name": "해피",
        "family": "말티즈",
        "age": 2,
        "weight": 2.05,
        "owner": {
            "ownerName": "짱구",
            "phone": "01012345678"
        }
    }
}

 

배열 (Array)

JSON에서 배열이란?
여러 개의 데이터가 순서를 가지고 나열된 집합

배열은 대괄호( [ ] ) 로 표현.

쉼표 ( , )를 사용해서 여러 데이터를 나열.

배열 인덱스는 0부터 시작.

 

[예제]

{
    "dog": [
        "웰시코기",
        "포메라니안",
        "푸들"
    ]
}

 

 

NULL

JSON에서 NULL이란?
아무겂도 가지고 있지 않는 빈값

null 은 항상 소문자로 표현해야함.

값 자체가 없다는 의미가 아니고 '값' 을 가지고 있지 않다는 의미를 가지는 하나의 데이터 값.

 

배열과 객체의 차이점

객체는Property 집합

배열은 데이터 값의 집합

 

 

 

 

 

 

 

 

 


제 글을 복사할 시 출처를 명시해주세요.
글에 오타, 오류가 있다면 댓글로 알려주세요! 바로 수정하겠습니다!


 

 

 

 

 

반응형

'코딩 > C and C++' 카테고리의 다른 글

네임드 파이프 (Named-Pipe)  (1) 2020.10.04
C++에서 JSON 사용  (4) 2020.09.13
C++11 문법적 변경 사항  (0) 2020.09.13
C와 C++ 차이점  (1) 2020.09.13
CreateThread, _beginthreadex 차이점  (0) 2020.09.03