| YouTube Link |
|
| ์๋ฐ์คํฌ๋ฆฝํธ 10. JSON ๊ฐ๋
์ ๋ฆฌ ์ ํ์ฉ๋ฐฉ๋ฒ ๋ฐ ์ ์ฉํ ์ฌ์ดํธ ๊ณต์ JavaScript JSON | ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ์
๋ฌธํธ (JavaScript ES6) |
| https://youtu.be/FN_D4Ihs3LE |
http๋ฅผ ํตํด์ ์๋ฒ์๊ฒ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํด ๊ฐ์ ธ์ฌ ์ ์๋ ๋ฐฉ๋ฒ์ผ๋ก ajax๊ฐ ์๋ค. ์นํ์ด์ง๋ฅผ ๋ค์ ๋ก๋ฉํ์ง ์๊ณ ๋์ ์ผ๋ก ์๋ฒ์๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ธฐ์ ์ด๋ค.(๊ฒ์์ฐฝ ๋ฏธ๋ฆฌ๋ณด๊ธฐ์ ๊ฐ์) ์ด๊ฒ ๋ง๊ณ ๋ ๋ธ๋ผ์ฐ์ API์์ ์ ๊ณตํ๋ XHR๋ ์๋ค. ์ต๊ทผ์ ์ถ๊ฐ๋ ๋ธ๋ผ์ฐ์ API๋ fetch() API๊ฐ ์๋ค.(XML์ html๊ณผ ๊ฐ์ ๋งํฌ์
์ธ์ด์ด๋ค.)
JSON์ key์ value๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. JSON์ Object๋ก ์ง๋ ฌํํด์ JSON์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ฑฐ๋ ์ ์ก ๋๋ ์ญ์ง๋ ฌํ ํ๊ธฐ๋ ํ๋ค..
JSON.stringify() : ๋ฌธ์์ด๋ก ๋ฐํ
let json = JSON.stringify(true);
console.log(json);//true
json = JSON.stringify(['apple', 'banana']);
console.log(json);
//object ๋ง๋ค๊ธฐJSONํ ์ํค๊ธฐ
//ํจ์๋ ํํ๋์ง ์๋๋ค.
const rabbit = {
name: 'tori',
color: 'white',
size: null,
birthDate: new Date(),
// Symbol: Symbol('id'),
jump: () => { console.log(`${name} can jump`); }
};
//JSON.stringify
json = JSON.stringify(rabbit);
console.log(`1: ${json}`);
//Object์ ์ํ๋ property๋ง ์ง์ ํ๊ณ ์ถ๋ค๋ฉด ์๋์ฒ๋ผ ์์ฑํ๋ฉด ๋๋ค.
json = JSON.stringify(rabbit, ['name', 'color', 'size']);
console.log(`2: ${json}`);
json = JSON.stringify(rabbit, (key, value) => {
console.log(`3: key : ${key}/ value : ${value}`);//[object;object]๋ ์ ์ผ ์ต์์ ๊ฐ์ฒด๊ฐ ์ ๋ฌ์ด ๋จผ์ ๋๋ค.
return key === 'name' ? 'ellie' : value;
});
console.log(`4: ${json}`);
JSON.parse() : JS๊ฐ์ฒด๋ก ๋ฐํ
//JSON.parse
console.log("START=======================");
const rabbit = {
name: 'tori',
color: 'white',
size: null,
birthDate: new Date(),
// Symbol: Symbol('id'),
jump: () => { console.log(`${this.name} can jump`); }
};
const json = JSON.stringify(rabbit);
// const obj = JSON.parse(json);
const obj = JSON.parse(json, (key, value) => {
console.log(`key:${key}/ value:${value}`);
console.log(new Date(value));//์ฌ๊ธฐ์ value๊ฐ string์ด๋ค.
console.log(`type : ${typeof (value)}`);//string
console.log(`type : ${typeof (new Date(value))}`);//obj
return key === 'birthDate' ? new Date(value) : value;
});
// let test = new Date('2023-05-08T08:05:28.839Z')
// console.log('test' + test);
// console.log(obj);
// rabbit.jump();
// json.jump();//error
// obj.jump();//error
console.log(rabbit.birthDate.getDate())
console.log(obj.birthDate.getDate())
ํฌ๊ฒ ์ด๋ ค์์ ์์์ผ๋ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ ํ์ฉ ํด๋ด์ผ ๊ฒ ๋ค. ์ข ๋ ๊ฐ๋
์ฑ์ด ์ข์ ์ฝ๋๋ฅผ ๋ง๋ค๊ธฐ ์ํจ์ด๋ค.
Json Parser Online
json.parser.online.fr
JSONํ์ผ ๋ง๋ค๊ธฐ
์ถ๊ตฌ์ ์ ์ผํ๋ชฐ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ค JSONํ์ผ์ ๋ํด ์์๋ฌ์ผํ ํ์์ฑ์ ๋๊ปด ํฌ์คํ
ํ๋ค. JSON์ด๋? 1) Java Script Object Notation ์ ์ฝ์์ด๋ค. 2) json์ ๋จ์ํ ๋ฐ์ดํฐ ํฌ๋ฉง์ด๋ค. ๋ฐ์ดํฐ๋ฅผ ํ์ํ
jurgen-94.tistory.com