๐Ÿ“’JS/โšกver.1

JS์˜ ํ•ต์‹ฌ! : JSON

4:Bee 2023. 5. 8. 02:39
728x90
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

 

728x90