JSON
- 데이터를 주고 받을 때 사용할 수 있는 가장 간단한 데이터 타입이며, 사람 눈으로 읽기도 편하고 프로그램 언어나 플랫폼에 상관없이 사용가능하다.
stringify(obj)
- object --(serialize)--> JSON(string)
let json = JSON.stringify(true);
console.log(json);
json = JSON.stringify(['apple', 'banana']);
console.log(json);
const rabbit = {
name: 'tori',
color: 'white',
size: null,
birthDate: new Date(),
jump: () => {
console.log(`${rabbit.name} can jump!`);
}
};
json = JSON.stringify(rabbit); // 함수, symbol은 포함 안됨
console.log(json);
json = JSON.stringify(rabbit, ['name']);
console.log(json);
json = JSON.stringify(rabbit, (key, value) => {
return key === 'name' ? 'amy' : value;
});
console.log(json);
parse(json)
- JSON(string) --(deserialize)--> object
console.clear();
let obj = JSON.parse(json);
console.log(obj);
console.log(rabbit.birthDate.getDate());
// console.log(obj.birthDate.getDate()); // log : type error ==> 이런 경우, 콜백함수를 이용해 값을 조정(?)할 수 있음
obj = JSON.parse(json, (key, value) => key === 'birthDate' ? new Date(value) : value);
console.log(obj.birthDate.getDate());