오브젝트가 메모리상에 어떻게 존재하는지는 아키텍처와 언어에 따라 다르다. 또 메모리 상의 오브젝트는 인간이 읽기 힘들다.
EX)
애플리케이션 1과 애플리케이션 2를 인터넷을 통해 데이터를 주고받으려고 해보자. 이 두 애플리케이션은 서로 언어도 다르고 아키텍처도 다르다고 하자. 오브젝트를 전송하려면 둘다 이해할 수 있는 형태로 오브젝트를 변환해야 한다. 이렇게 저장하기 위해 또는 전송하기 위해 메모리상의 오브젝트를 다른 형태로 변환하는 작업을 직렬화라하며, 그 반대 작업을 역직렬화라고 한다.
그렇다면 어떤 형태로 오브젝트를 직렬화 할 것인가? 바로 JSON이다!!!
- 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 DATA 교환 형식
- 키-값의 형태로 오브젝트를 표현한 문자열이다.
- JSON은 데이터 포맷일 뿐이며 어떠한 통신 방법도, 프로그래밍 문법도 아닌 단순히 데이터를 표시하는 표현 방법일 뿐이다.
JSON 형식
{
"firstName": "Park",
"lastName": "Junsu",
"email": "junsu1222@naver.com"
}
키 : 인스턴스 변수의 이름("firstName"), 값 : 변수에 들어간 값("Park")
왜 이런 형태의 문자를 다른 이름이 아니라 자바스크립트 오브젝트 노테이션이라고 부를 까? 이 형식이 자바스크립트에서 오브젝트를 생성하는 형식과 같기 때문이다 ㅋㅋ
var object = {
"title": "mytitle"
"done": false
};
참고 : JSON