Learn every moment to make deepen me :D
이전 포스팅에서 언급한 바와 같이
XML은 헤더와 태그 등의 여러 요소로 가독성이 비교적 떨어지고, XML 특성상 메모리 용량을 많이 소비하는 단점이 있어왔다. 이에 따라 각광을 받게 된 것이 간결하고 통일된 양식을 쓰는 JSON이다.
이제부터 JSON에 대해 알아보도록 하자.
JavaScript를 확장하여 만들었기에 JavaScript 객체 표기법을 따른다는 것과
언어 독립형 데이터 포맷이기 때문에 프로그래밍 언어 및 플랫폼에도 독립적이고
구문 분석 및 JSON 데이터 생성을 위한 코드를 C, C++, JAVA, Pearl, Python 등에서 쉽게 이용할 수 있다는 점이다.
JSON 기본 구조
타입
형태
타 프로그래밍 언어와 비교
object, record, struct, dictionary, hash table,
키가 있는 List, 연상배열
JSON의 자료형은 다음 6가지로 구분할 수 있다.
1. Number (수)
number 자료형 사용 형태
8진수와 16진수 형식을 사용하지 않음
C, Java에서의 Number 표현법과 비슷하다.
(예시)
2. String (문자열)
0개 이상의 유니코드 문자들의 조합
문자열은 큰 따옴표로 구분
역슬래쉬(\) escape 문법 지원
하나의 문자도 하나의 문자열로서 표현
Java 문자열과 매우 비슷함
역슬래쉬로 제어문자 표현 시
3. Boolean (참/거짓) : True or False
4. Array (배열)
0 이상의 임의의 종류 값으로 이루어진 순서가 있는 리스트
대괄호(Bracket)로 나타내며 요소는 쉼표(Comma)로 구분한다.
5. Object (객체)
Name/Value 쌍들의 비순서화 SET
중괄호로 나타내며 Name 뒤에 콜론( : Colon)을 붙이고
콤마로 Name/Value 쌍들 간을 구분
Name(=Key)는 문자열이다.
6. null : 빈 값으로, null을 사용
큰 따옴표 안으로 string, number, true, false, null, object, array 자료형의 값이 들어올 수 있다.
Value 입력 값들. 양 쪽에 name tag가 존재한다.
※ tip : 토큰들의 어떤 쌍 사이에 공백 삽입 가능
출처 : json.org/json-ko.html
한 사람에 관한 정보를 가진 JSON 객체를 키(Name)-값(Value) 패턴으로 표현하여 만들어 보았다.
참고 :
http://tcpschool.com/json/json_intro_basic
https://ko.wikipedia.org/wiki/JSON
http://www.json.org/json-ko.html
https://namu.wiki/w/JSON
JSON (JavaScript Object Notation)
이전 포스팅에서 언급한 바와 같이
XML은 헤더와 태그 등의 여러 요소로 가독성이 비교적 떨어지고, XML 특성상 메모리 용량을 많이 소비하는 단점이 있어왔다. 이에 따라 각광을 받게 된 것이 간결하고 통일된 양식을 쓰는 JSON이다.
이제부터 JSON에 대해 알아보도록 하자.
JSON ( JavaScript Object Notation ) : 경량의 Data 교환 형식
JSON의 가장 중요한 특징
JavaScript를 확장하여 만들었기에 JavaScript 객체 표기법을 따른다는 것과
언어 독립형 데이터 포맷이기 때문에 프로그래밍 언어 및 플랫폼에도 독립적이고
구문 분석 및 JSON 데이터 생성을 위한 코드를 C, C++, JAVA, Pearl, Python 등에서 쉽게 이용할 수 있다는 점이다.
JSON 표준 등장 배경
JSON의 문제점
JSON의 자료형과 문법
JSON 기본 구조
타입
형태
타 프로그래밍 언어와 비교
object, record, struct, dictionary, hash table,
키가 있는 List, 연상배열
자료형
JSON의 자료형은 다음 6가지로 구분할 수 있다.
1. Number (수)
8진수와 16진수 형식을 사용하지 않음
C, Java에서의 Number 표현법과 비슷하다.
(예시)
2. String (문자열)
0개 이상의 유니코드 문자들의 조합
문자열은 큰 따옴표로 구분
역슬래쉬(\) escape 문법 지원
하나의 문자도 하나의 문자열로서 표현
Java 문자열과 매우 비슷함
(예시)
역슬래쉬로 제어문자 표현 시
3. Boolean (참/거짓) : True or False
4. Array (배열)
0 이상의 임의의 종류 값으로 이루어진 순서가 있는 리스트
대괄호(Bracket)로 나타내며 요소는 쉼표(Comma)로 구분한다.
(예시)
5. Object (객체)
Name/Value 쌍들의 비순서화 SET
중괄호로 나타내며 Name 뒤에 콜론( : Colon)을 붙이고
콤마로 Name/Value 쌍들 간을 구분
Name(=Key)는 문자열이다.
(예시)
6. null : 빈 값으로, null을 사용
값 (Value)
큰 따옴표 안으로 string, number, true, false, null, object, array 자료형의 값이 들어올 수 있다.
※ tip : 토큰들의 어떤 쌍 사이에 공백 삽입 가능
JSON 예제 만들기
한 사람에 관한 정보를 가진 JSON 객체를 키(Name)-값(Value) 패턴으로 표현하여 만들어 보았다.
참고 :
http://tcpschool.com/json/json_intro_basic
https://ko.wikipedia.org/wiki/JSON
http://www.json.org/json-ko.html
https://namu.wiki/w/JSON
'Knowledge' 카테고리의 다른 글