[๐Ÿ’ป ์ฝ”๋“œ์Šคํ…Œ์ด์ธ  FE 44๊ธฐ] JSON

JiEunยท2023๋…„ 4์›” 12์ผ
0
post-thumbnail

โœ”๏ธ ์‹œ์ž‘

JSON์ด ๋ฌด์—‡์ด๊ณ  JSON ๋ฐ์ดํ„ฐ ๋ณ€ํ™˜๊ณผ ๊ทธ์— ๊ด€๋ จ๋œ ๊ณผ์ œ๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค.


๐Ÿ“์•Œ๊ฒŒ๋œ ์ 

โœ”๏ธ JSON

  • JavaScript Object Notation ์ค„์ž„๋ง
  • ๋ฐ์ดํ„ฐ ๊ตํ™˜์„ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ๊ฐ์ฒด ํ˜•ํƒœ์˜ ํฌ๋งท
  • ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ ์‚ฌ์ด์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•˜๊ธฐ ์œ„ํ•œ ํฌ๋งท
  • ๋ฒ”์šฉ์ ์œผ๋กœ ์œ ๋ช…ํ•œ ํฌ๋งท
{"name":"Choi","age":"27"}

๊ฐ์ฒด๋Š” ํƒ€์ž…์„ ์ด์šฉํ•ด string์œผ๋กœ ๋ณ€ํ™˜ ํ•  ๊ฒฝ์šฐ ๊ฐ์ฒด ๋‚ด์šฉ์„ ํฌํ•จํ•˜์ง€ ์•Š๋Š”๋‹ค.

  • ๊ฐ์ฒด๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™”ํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ”์†Œ๋“œ
    data.toString(), String(data)
    => ๋‘˜ ๋‹ค ์ ์šฉ ์‹œ [object Object]๋ผ๋Š” ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

  • ๊ฐ์ฒด๋ฅผ JSON ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜
  • JSON์„ ๊ฐ์ฒด ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜

JSON.stringify() : ๊ฐ์ฒด๋ฅผ JSON์œผ๋กœ ๋ณ€ํ™˜
JSON.parse() : JSON์„ ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜

let newData = JSON.stringify(data);

console.log(data);
//{"name":"JiEun","age":"27"}

console.log(typeof data);
//'string'
  • JSON.stringifyํ•˜๋Š” ๊ณผ์ •์„ ์ง๋ ฌํ™”(serialize)๋ผ๊ณ  ํ•œ๋‹ค.
let data = '{"name":"JiEun","age":"27"}';
let obj = JSON.parse(data);

console.log(obj);
//{name:"JiEun",age:"27"}

console.log(typeof obj);
//'object'
  • JSON.parseํ•˜๋Š” ๊ณผ์ •์„ ์—ญ์ง๋ ฌํ™”(deserialize)๋ผ๊ณ  ํ•œ๋‹ค.

โœ”๏ธ JSON ๊ธฐ๋ณธ ๊ทœ์น™

JavaScript ๊ฐ์ฒดJSON
ํ‚คํ‚ค๋Š” ๋”ฐ์˜ดํ‘œ ์—†์ด ์“ธ ์ˆ˜ ์žˆ์Œ๋ฐ˜๋“œ์‹œ ์Œ ๋”ฐ์˜ดํ‘œ๋ฅผ ๋ถ™์—ฌ์•ผํ•จ
{ key : "property" }'{"key":"property"}'
๋ฌธ์ž์—ด ๊ฐ’์ž‘์€ ๋”ฐ์˜ดํ‘œ๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ๋ฐ˜๋“œ์‹œ ํฐ ๋”ฐ์˜ดํ‘œ๋กœ ๊ฐ์‹ธ์•ผ ํ•จ
{ "key" : 'property' }'{"key":"property"}'
ํ‚ค์™€ ๊ฐ’ ์‚ฌ์ด ๊ณต๋ฐฑโญ•๏ธโŒ
{"key" : 'property'}'{"key":"property"}'
ํ‚ค-๊ฐ’ ์Œ ์‚ฌ์ด ๊ณต๋ฐฑโญ•๏ธโŒ
{ "key":'property', num:1 }'{"key":"property","num":1}'

โœ๏ธ ๋งˆ์น˜๋ฉฐ

JSON์— ๋Œ€ํ•ด ์–ด๋Š ์ •๋„ ์•Œ๊ณ  ์žˆ์—ˆ์ง€๋งŒ JavaScript ๊ฐ์ฒด ํ˜•ํƒœ์™€ ์ฐจ์ด์ ์„
์ด๋ฒˆ ํ•™์Šต์— ํ†ตํ•ด ์ œ๋Œ€๋กœ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

์ด๋ฒˆ ๊ณผ์ œ๋„ ํŽ˜์–ด์™€ ๊ฐ™์ด ์ง„ํ–‰ํ•˜๋Š” ์‹œ๊ฐ„์ด์—ˆ์ง€๋งŒ
๊ฐ์ž ํ•˜๋Š” ๋Š๋‚Œ์ด ๊ฐ•ํ•ด ์•„์‰ฌ์› ๋‹ค.

ํ˜ผ์ž ํ’€์–ด๋ณด๋Š” ๊ฒƒ๋„ ์ค‘์š”ํ•˜์ง€๋งŒ ๋ชจ๋ฅด๋Š” ๋ถ€๋ถ„์€ ์„œ๋กœ ๋ฌผ์–ด๋ณด๋ฉฐ ์ง„ํ–‰ ํ–ˆ์œผ๋ฉด
์–ด๋• ์„๊นŒ ์‹ถ๊ธฐ๋„ ํ•˜๋‹ค.
๋ฌผ๋ก  ์ผ€๋ฐ”์ผ€, ์„ฑํ–ฅ ์ฐจ์ด๋ผ ๋ญ๋ผ ํ•  ์ˆœ ์—†๋‹ค.

profile
๐Ÿ’ป ํ”„๋ก ํŠธ์—”๋“œ๋ฅผ ๋ชฉํ‘œ๋กœ ์„ฑ์žฅ ์ค‘! (์•Œ์•„๋ดค๋˜ ๋‚ด์šฉ ๋“ฑ์„ ์ •๋ฆฌํ•˜๊ธฐ)

0๊ฐœ์˜ ๋Œ“๊ธ€