GiantStepDEV
article thumbnail

JSON(JavaScript Object Notation)

  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ์ฒด๋ฅผ ๋ฌธ์ž์—ด๋กœ ํ‘œํ˜„ํ•˜๋Š” ๋ฐ์ดํ„ฐ ํฌ๋งท
  • JSON์„ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€์˜ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹ ์ด ๊ฐ„๋‹จํ•ด์ง‘๋‹ˆ๋‹ค.
  • ์„œ๋ฒ„์™€ ์›น ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ ์ž์ฃผ ์‚ฌ์šฉ ํ•ฉ๋‹ˆ๋‹ค.

ํŠน์ง•

  1. JSON์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ์ฒด๋ฅผ '์ง๋ ฌํ™”' ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    โœ๏ธ ์ง๋ ฌํ™”๋ž€? ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ๋Š” 1๋ฐ”์ดํŠธ, 2๋ฐ”์ดํŠธ 4๋ฐ”์ดํŠธ ๋“ฑ ํƒ€์ž… ๋ณ„๋กœ ํฌ๊ธฐ๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ›๋Š” ์ž…์žฅ์—์„œ ํ•ด์„ํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๊ณต๋ฐฑ ์—†์ด ์—ฐ๋‹ฌ์•„ ๋ถ™์—ฌ์„œ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธ ํ•ฉ๋‹ˆ๋‹ค.
  2. ์›๋ž˜๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋กœ๋ถ€ํ„ฐ ํŒŒ์ƒ๋˜์—ˆ์ง€๋งŒ ํ˜„์žฌ๋Š” ์–ธ์–ด์— ๋…๋ฆฝ์ ์œผ๋กœ ์‚ฌ์šฉ ๋ฉ๋‹ˆ๋‹ค.
    โœ๏ธ์ž๋ฐ” ์ง๋ ฌํ™”๋Š” ์ž๋ฐ”๋ผ๋ฆฌ๋งŒ ๊ฐ€๋Šฅํ•จ.
  3. JSON์€ ๋‘ ๊ฐ€์ง€ ๊ธฐ๋ณธ ์ž๋ฃŒ๊ตฌ์กฐ์ธ '๋ฐฐ์—ด'๊ณผ '๊ฐ์ฒด'๋ฅผ ๊ธฐ๋ฐ˜ํ•˜๋ฉฐ, ์›น ์„œ๋ฒ„์™€ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ๊ตํ™˜์— ์‚ฌ์šฉ ๋ฉ๋‹ˆ๋‹ค.
  4. XML ๋Œ€์•ˆ์œผ๋กœ ์ž์ฃผ ์‚ฌ์šฉ ๋ฉ๋‹ˆ๋‹ค.

stringify() : ๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด -> JSON

let memberInfo = [ // ๋ฐฐ์—ด ์•ˆ์— ๊ฐ์ฒด๋ฅผ ๋„ฃ์–ด ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.
  { // 0๋ฒˆ ๊ฐ์ฒด
    name : "์ด์˜์ง€",
    age : 22,
    job : "๋ž˜ํผ",
    addr : "์„œ์šธ์‹œ ๊ฐ•๋‚จ๊ตฌ ์ฒญ๋‹ด๋™"
  },
  { // 1๋ฒˆ ๊ฐ์ฒด
    name : "๊น€์€์ง€",
    age : 30,
    job : "๊ฐœ๊ทธ์šฐ๋จผ",
    addr : "๊ฒฝ๊ธฐ๋„ ์ˆ˜์›์‹œ ๋งคํƒ„๋™"

  },
  { // 2๋ฒˆ ๊ฐ์ฒด
    name : "์•ˆ์œ ์ง„",
    age : 21,
    job : "์•„์ด๋Œ",
    addr : "์„œ์šธ์‹œ ๋งˆํฌ๊ตฌ ๊ณต๋•๋™"
  }
];
let json = JSON.stringify(memberInfo); // ๋ณ€ํ™˜ํ•œ ๋ณ€์ˆ˜ json์„ SpringBoot Controller์— ๋ณด๋‚ด๋Š”..
console.log(json);

parse() : JSON -> ๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด๋กœ ๋ณ€ํ™˜

  • ํ•ด๋‹น ๋ฐ์ดํ„ฐ์˜ ์ž…๋ ฅ์€ ์ฃผ๋กœ ajax, Fetch API, Promise, Axios ๋“ฑ์˜ ๋น„๋™๊ธฐ ํ†ต์‹ ์œผ๋กœ ๋ถ€ํ„ฐ ์ „๋‹ฌ ๋ฐ›์Œ
const jsonString = '{"name": "์•ˆ์œ ์ง„", "age": 21, "city": "์„œ์šธ์‹œ ๊ฐ•๋‚จ๊ตฌ"}'; // ์‹ค์ œ ๋กœ์šฐ ๋ฐ์ดํ„ฐ ํ˜•์‹
const jsonObject = JSON.parse(jsonString); // JSON => ๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด๋กœ ๋ฐ˜ํ™˜
console.log(jsonObject);
console.log(jsonObject.name);
console.log(jsonObject.age);
console.log(jsonObject.city);
profile

GiantStepDEV

@kongmi

ํฌ์ŠคํŒ…์ด ์ข‹์•˜๋‹ค๋ฉด "์ข‹์•„์š”โค๏ธ" ๋˜๋Š” "๊ตฌ๋…๐Ÿ‘๐Ÿป" ํ•ด์ฃผ์„ธ์š”!