JSON은 JavaScript Object Notation의 줄임말로, 데이터 교환을 위해 만들어진 객체 형태의 포맷이다.
네트워크를 통해 데이터를 주고받기 위해서는 다음과 같은 조건을 만족해야 한다.
객체는 타입 변환을 이용해 문자열로 변환할 경우 객체 내용을 포함할 수 없다
const obj = {
name: 'sangbin'
}
console.log(String(obj)) // [object Object]
이 문제를 해결하기 위해 JSON이 탄생했다.
JSON.stringify
: 객체를 JSON으로 변환
JSON.parse
: JSON을 객체로 변환
const obj = {
name: 'sangbin'
}
let json = JSON.stringify(obj);
console.log(json) // {"name":"sangbin"}
json = JSON.parse(json); // {name: 'sangbin'}
JSON.stringify하는 과정을 직렬화(serialize)라고 부르고,
JSON.parse하는 과정을 역직렬화(deserialize)라고 한다.