woalsrhKR
EVERYDAY
woalsrhKR
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๐Ÿ“š ๊ธ€ ๋ชจ์Œ์ง‘ (578)
    • ๐Ÿ”ค Language (84)
      • ๐ŸŸจ JavaScript (52)
      • ๐ŸŸฆ TypeScript (12)
      • ๐Ÿ’— SCSS (0)
      • ๐ŸŸ  HTML (12)
      • ๐Ÿ”ต CSS (8)
    • ๐ŸŒƒ ํ•˜๋ฃจ๊ธฐ๋ก (469)
    • ๐ŸŽฌ ์˜ํ™” ๊ฐ์ƒํšŒ (1)
    • ๐Ÿ’ป Web Develop (16)
      • โ˜•๏ธ STARBUCKS ๊ฐœ๋ฐœ์ผ์ง€ (14)
    • ๐ŸŽ“ University (6)
      • ์˜คํ”ˆ์†Œ์Šค ๊ธฐ์ดˆ ํ”„๋กœ์ ํŠธ (5)
      • ์ •๋ณดํ†ต์‹ ๊ฐœ๋ก  (0)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • object
  • ์‚ฌ์ฐฝ
  • ๋‹ค์ด์†Œ์‚ฌ์ฐฝ
  • ์ ˆ๋Œ€๊ฒฝ๋กœ
  • ์—ฌ์ž์นœ๊ตฌ
  • ๊ฐ์ฒด
  • ๋‹ค์ด์†Œ
  • ์ผ๊ธฐ
  • 79๋Œ€ํฌ
  • ๋ฉ”๊ฐ€์ปคํ”ผ
  • ์ผ์ƒ
  • ํฐํŠธ
  • ํด๋ก 
  • ์Šคํƒ€๋ฒ…์Šค
  • ํŒŒ๋น„์ฝ˜
  • ์ƒ๋Œ€๊ฒฝ๋กœ
  • ํŠธ์œ„ํ„ฐ์นด๋“œ
  • ์ง„์‹๋‹น
  • ์˜คํ”ˆ๊ทธ๋ž˜ํ”ผ
  • ์•„์ด์ฝ˜

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
woalsrhKR

EVERYDAY

๐Ÿ”ค Language/๐ŸŸจ JavaScript

JS. JSON

2022. 2. 25. 21:36

JSON

JSON(JavaScript Object Notation)์€ ์†์„ฑ-๊ฐ’ ์Œ( attribute–value pairs and array data types (or any other serializable value)) ๋˜๋Š” "ํ‚ค-๊ฐ’ ์Œ"์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐ์ดํ„ฐ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ์ธ๊ฐ„์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ํ…์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฐœ๋ฐฉํ˜• ํ‘œ์ค€ ํฌ๋งท์ด๋‹ค.

๋น„๋™๊ธฐ ๋ธŒ๋ผ์šฐ์ €/์„œ๋ฒ„ ํ†ต์‹  (AJAX)์„ ์œ„ํ•ด, ๋„“๊ฒŒ๋Š” XML(AJAX๊ฐ€ ์‚ฌ์šฉ)์„ ๋Œ€์ฒดํ•˜๋Š” ์ฃผ์š” ๋ฐ์ดํ„ฐ ํฌ๋งท์ด๋‹ค. ํŠนํžˆ, ์ธํ„ฐ๋„ท์—์„œ ์ž๋ฃŒ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ ๊ทธ ์ž๋ฃŒ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์•Œ๋ ค์ ธ ์žˆ๋‹ค.

SON์˜ ๊ณต์‹ ์ธํ„ฐ๋„ท ๋ฏธ๋””์–ด ํƒ€์ž…์€ application/json์ด๋ฉฐ, JSON์˜ ํŒŒ์ผ ํ™•์žฅ์ž๋Š” .json์ด๋‹ค.

์ž๋ฃŒํ˜•

  • ์ˆ˜(Number)
  • ๋ฌธ์ž์—ด(String): 0๊ฐœ ์ด์ƒ์˜ ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž๋“ค์˜ ์—ฐ์†. ๋ฌธ์ž์—ด์€ ํฐ ๋”ฐ์˜ดํ‘œ(")๋กœ ๊ตฌ๋ถ„ํ•˜๋ฉฐ ์—ญ์Šฌ๋ž˜์‹œ ์ด์Šค์ผ€์ดํ”„ ๋ฌธ๋ฒ•์„ ์ง€์›ํ•œ๋‹ค.
  • ์ฐธ/๊ฑฐ์ง“(Boolean): true ๋˜๋Š” false ๊ฐ’
  • ๋ฐฐ์—ด(Array): 0 ์ด์ƒ์˜ ์ž„์˜์˜ ์ข…๋ฅ˜์˜ ๊ฐ’์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ๋ฆฌ์ŠคํŠธ. ๋Œ€๊ด„ํ˜ธ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉฐ ์š”์†Œ๋Š” ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค.
  • ๊ฐ์ฒด(Object): ์ˆœ์„œ๊ฐ€ ์—†๋Š” ์ด๋ฆ„/๊ฐ’ ์Œ์˜ ์ง‘ํ•ฉ์œผ๋กœ, ์ด๋ฆ„(ํ‚ค)์ด ๋ฌธ์ž์—ด์ด๋‹ค.
  • null: ๋นˆ ๊ฐ’์œผ๋กœ, null์„ ์‚ฌ์šฉํ•œ๋‹ค.

package.json

  • package.json ํŒŒ์ผ์€ ๋ฐฐํฌํ•œ ๋ชจ๋“ˆ ์ •๋ณด๋ฅผ ๋‹ด๊ณ ์ž ๋งŒ๋“ค์–ด์กŒ๋‹ค.
  • ์ง์ ‘ ์ž‘์„ฑํ•  ์ˆ˜๋„ ์žˆ๊ณ  npm init ๋ช…๋ น์„ ํ†ตํ•ด์„œ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•  ์ˆ˜๋„ ์žˆ๋‹ค.
  • ํ„ฐ๋ฏธ๋„์— npm init -y๋ฅผ ์ž…๋ ฅํ•˜๋ฉด package.json ํŒŒ์ผ์ด ์ž๋™์œผ๋กœ ๋งŒ๋“ค์–ด์ง„๋‹ค.

myData.json ์˜ˆ์ œ

{
  "string": "Imae",
  "number": 123,
  "boolean": true,
  "null": true,
  "object": {},
  "array": []
}

json ํŒŒ์ผ ๋‚ด์— ํ•˜๋‚˜์˜ ๊ฐ์ฒด ๋ฐ์ดํ„ฐ๋ฅผ ๋ช…์‹œํ–ˆ๋‹ค.

json ํŒŒ์ผ ๋‚ด์—๋Š” ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๋งŒ ๋ช…์‹œ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๋‘ ๊ฐœ ์ด์ƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

main.js ํ™œ์šฉ

import myData from './myData.json'

console.log(myData)
// {string: 'Imae', number: 123, boolean: true, null: true, object: {…}, …}
// array: []
// boolean: true
// null: true
// number: 123
// object: {}
// string: "Imae"
// [[Prototype]]: Object
const user = {
  name: 'imae',
  age: 55,
  emails: [
    'kurt5451@naver.com',
    'kwakjaemin123@gmail.com'
  ]
}
console.log('user', user) // user -> Object
// user 
// {name: 'imae', age: 55, emails: Array(2)}
// age: 55
// emails: (2) ['kurt5451@naver.com', 'kwakjaemin123@gmail.com']
// name: "imae"
// [[Prototype]]: Object
const str = JSON.stringify(user) // ๋ฌธ์ž ๋ฐ์ดํ„ฐํ™”(JSON ํฌ๋งทํ™”)
console.log('str', str)
// str {"name":"imae","age":55,"emails":["kurt5451@naver.com","kwakjaemin123@gmail.com"]}
console.log(typeof str) // string

const obj = JSON.parse(str) // JSON ํŒŒ์ผ์„ ๋ถ„์„ํ•˜์—ฌ ์žฌ์กฐ๋ฆฝ(์‹ค์ œ ๊ฐ์ฒด๋ฐ์ดํ„ฐ๋กœ ์ถœ๋ ฅ)
console.log('obj', obj) 
// obj 
// {name: 'imae', age: 55, emails: Array(2)}
// age: 55
// emails: (2) ['kurt5451@naver.com', 'kwakjaemin123@gmail.com']
// name: "imae"
// [[Prototype]]: Object

JSON ํŒŒ์ผ์€ ํ•˜๋‚˜์˜ ๋ฌธ์ž ๋ฐ์ดํ„ฐ์ด๋‹ค. ์ด๊ฒƒ์„ import๋กœ ๊ฐ€์ ธ์˜ค๋ฉด ๊ฐ์ฒด ๋ฐ์ดํ„ฐ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

JSON ํŒŒ์ผ์„ ๋ถ„์„ํ•˜์—ฌ ๊ฒฝ๋Ÿ‰ํ™”ํ•˜์—ฌ ์กฐ๋ฆฝํ•œ ํ›„ ์‹ค์ œ๋กœ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅํ•œ ํ›„ ํ™œ์šฉํ•˜๋ฉด ๋œ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ๋งŒ ์ฐธ์กฐํ•˜๋Š” ํฐ ๋ฉ์–ด๋ฆฌ์˜ ๋ฌธ์ž ๋ฐ์ดํ„ฐ๋กœ ๊ด€๋ฆฌ๋œ๋‹ค.

๊ทธ๊ฒƒ์„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐ์ดํ„ฐ๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” JSON.parse๋ฅผ ์‚ฌ์šฉํ•˜๊ณ 

JSONํ™” ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” JSON.stringify๋ฅผ ํ†ตํ•ด ๋ฌธ์ž ๋ฐ์ดํ„ฐํ™”๋ฅผ ์‹œ์ผœ์ค€๋‹ค.

 

์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿ”ค Language > ๐ŸŸจ JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

JS. OMDB API  (0) 2022.02.27
JS. Storange  (0) 2022.02.26
JS. Lodash ์‚ฌ์šฉ๋ฒ•  (0) 2022.02.25
JS. ๋ฐ์ดํ„ฐ ์‹ค์Šต ๊ฐ€์ ธ์˜ค๊ธฐ, ๋‚ด๋ณด๋‚ด๊ธฐ  (0) 2022.02.25
JS. ์–•์€ ๋ณต์‚ฌ์™€ ๊นŠ์€ ๋ณต์‚ฌ  (0) 2022.02.23
    '๐Ÿ”ค Language/๐ŸŸจ JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • JS. OMDB API
    • JS. Storange
    • JS. Lodash ์‚ฌ์šฉ๋ฒ•
    • JS. ๋ฐ์ดํ„ฐ ์‹ค์Šต ๊ฐ€์ ธ์˜ค๊ธฐ, ๋‚ด๋ณด๋‚ด๊ธฐ
    woalsrhKR
    woalsrhKR

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”