728x90
10. JSON 개념 정리 와 활용방법 및 유용한 사이트 공유 JavaScript JSON | 프론트엔드 개발자 입문편 (JavaScript ES6)
// JSON
// JavaScript Object Notation
// 1. Object to JSON
// stringfy(obj)
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(),
// symbol: Symbol("id"), // Symbol은 JSON에 포함되지 않는다.
jump: () => {
console.log(`${this.name} can jump!`);
},
};
json = JSON.stringify(rabbit);
console.log(json);
json = JSON.stringify(rabbit, ["name", "color", "size"]);
console.log(json);
console.clear();
json = JSON.stringify(rabbit, (key, value) => {
console.log(`key: ${key}, value: ${value}`);
// return value;
return key === "name" ? "ellie" : value;
});
console.log(json);
// 2. JSON to Object
// parse(json)
console.clear();
json = JSON.stringify(rabbit);
const obj = JSON.parse(json, (key, value) => {
console.log(`key: ${key}, value: ${value}`);
// return value;
return key === "birthDate" ? new Date(value) : value; // string을 다시 object로..
});
console.log(obj);
rabbit.jump();
// obj.jump(); // JSON으로 변환될때 함수는 포함되지 않는다.
console.log(rabbit.birthDate.getDate());
console.log(obj.birthDate.getDate()); // JSON으로 넘어가면서 string이 되었기 때문에, parse를 이용해 다시 object로 넘어와도 여전히 string이다.
반응형
'Programming > JavaScript' 카테고리의 다른 글
[Javascript][Lecture][드림코딩]자바스크립트 기초 강의(ES5+)(12/13) (0) | 2021.11.24 |
---|---|
[Javascript][Lecture][드림코딩]자바스크립트 기초 강의(ES5+)(11/13) (0) | 2021.11.10 |
[Javascript][Lecture][드림코딩]자바스크립트 기초 강의(ES5+)(9/13) (0) | 2021.11.10 |
[Javascript][Lecture][드림코딩]자바스크립트 기초 강의(ES5+)(8/13) (0) | 2021.11.08 |
[Javascript]객체와 객체의 속성(property) 정의 (0) | 2021.11.08 |