본문 바로가기

JavaScript

[JavaScript] 9. JSON 개념정리와 활용방법

// JavaScript Object Notation

 

// 1. Object to JSON

//stringify(obj)

 

let json = JSON.stringify(true);
console.log(json);

const rabbit = {
    name: 'tori',
    color: 'white',
    size: null,
    birthDate: new Date(),
    symbol : Symbol('id'),
    jump: () => {
        console.log(`${this.name} can jump!`);
    },
};

json = JSON.stringify(rabbit);;
console.log(json); // 함수, Symbol은 JSON object에 포함 되지 않음.

json = JSON.stringify(rabbit, ['name']); // key가 name인 것만 JSON 으로 변환 
console.log(json);

// 세밀한 통제를 하기위해 콜백 함수 사용
json = JSON.stringify(rabbit, (key, value) => {
    console.log(`key: ${key}, value: ${value}`);
    return key === 'name' ? 'ellie' : value;
});

 

// 2. JSON to Object

// parse(json)

json = JSON.stringify(rabbit);
const obj = JSON.parse(json, (key, value) => {
    console.log(`key: ${key}, value: ${value}`);
    return key === 'birthDate' ? new Date(value) : value
});
console.log(obj);
rabbit.jump();
obj.jump();

console.log(rabbit.birthDate.getDate());
console.log(obj.birthDate.getDate());