JSON이란?
JavaScript Object Notation
데이터 교환용으로 설계된 텍스트 기반 개방형 표준 데이터 포멧
C/C++, JAVA, Python 등 수많은 프로그래밍 언어에서 쉽게 이용할 수 있음
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 |