
JSON(JavaScript Object Notation)은 데이터를 저장하고 교환하는 데 사용되는 경량 데이터 포맷입니다. 인간이 읽기 쉽고, 기계가 구문 분석 및 생성하기 쉬운 구조를 가지고 있습니다. (JavaScript의 객체 표현식과 유사한 방식입니다)
JSON은 일반적을 중괄호 {}를 사용하여 객체를 정의하고, 대괄호 []를 사용하여 배열을 정의합니다. 각 데이터는 키-값 쌍의 형태로 표현됩니다.
{
"이름" : "Joon",
"나이" : 99,
"취미" : ["독서", "운동", "여행"],
"주소" : {
"도시" : "서울",
"우편번호" : "12345"
}
}
이름,나이 등이 키(key)이며 각각의 값이 할당됩니다.취미는 문자열의 배열입니다.주소는 객체 내부에 또 다른 객체를 포함합니다.JSON 데이터는 자바스크립트를 이용하여 JSON데이터 -> 자바스크립트 객체, 자바스크립트 객체 -> JSON 데이터로 쉽게 변환할 수 있습니다.
자바스크립트 객체에 저장된 데이터를 서버로 전송하기 위해서는 객체를 JSON 형식의 문자열로 변경해야 합니다.
이 과정을 객체의 직렬화(serializing)라고 합니다. 직렬화는 stringify()메서드를 이용하게 됩니다
서버로부터 JSON 데이터가 전송되면 이 데이터는 문자열입니다. 이 문자열을 자바스크립트 객체로 변환해야 하는데 이를 객체의 역직렬화(deserializing)라고 합니다. 역직렬화는 다른 말고 "문자열을 파싱한다"라고도 합니다.
역직렬화는 JSON 내장 객체의 parse()메서드를 이용하며 객체의 데이터에 접근해 페이지에서 사용할 HTML을 생성할 수 있습니다.
JSON.stringify() : JavaScript Object -> JSON 데이터(문자열)JSON.parse() : JSON 데이터(문자열) -> JavaScript ObjectJSON 데이터는 JavaScript에서 JSON.parse()와 JSON.stringify()메서드를 사용해 문자열과 객체 간 변환이 가능합니다.