JSON(JavaScript Object Notation)
- ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด๋ฅผ ๋ฌธ์์ด๋ก ํํํ๋ ๋ฐ์ดํฐ ํฌ๋งท
- JSON์ ์ฌ์ฉํ๋ฉด ๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ๋ฐ์ดํฐ ์ก์์ ์ด ๊ฐ๋จํด์ง๋๋ค.
- ์๋ฒ์ ์น ํด๋ผ์ด์ธํธ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋ ์์ฃผ ์ฌ์ฉ ํฉ๋๋ค.
ํน์ง
- JSON์ ์ฌ์ฉํ๋ฉด ๊ฐ์ฒด๋ฅผ '์ง๋ ฌํ' ํ ์ ์์ต๋๋ค.
โ๏ธ ์ง๋ ฌํ๋? ๊ธฐ๋ณธ ๋ฐ์ดํฐ๋ 1๋ฐ์ดํธ, 2๋ฐ์ดํธ 4๋ฐ์ดํธ ๋ฑ ํ์
๋ณ๋ก ํฌ๊ธฐ๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋ฐ๋ ์
์ฅ์์ ํด์ํ๊ธฐ๊ฐ ์ด๋ ต์ต๋๋ค. ์ด๋ฅผ ๋ณด์ํ๊ธฐ ์ํด ๋ฌธ์์ด๋ก ๋ณํํ์ฌ ๊ณต๋ฐฑ ์์ด ์ฐ๋ฌ์ ๋ถ์ฌ์ ์ ๋ฌํ๋ ๊ฒ์ ์๋ฏธ ํฉ๋๋ค.
- ์๋๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ธ์ด๋ก๋ถํฐ ํ์๋์์ง๋ง ํ์ฌ๋ ์ธ์ด์ ๋
๋ฆฝ์ ์ผ๋ก ์ฌ์ฉ ๋ฉ๋๋ค.
โ๏ธ์๋ฐ ์ง๋ ฌํ๋ ์๋ฐ๋ผ๋ฆฌ๋ง ๊ฐ๋ฅํจ.
- JSON์ ๋ ๊ฐ์ง ๊ธฐ๋ณธ ์๋ฃ๊ตฌ์กฐ์ธ '๋ฐฐ์ด'๊ณผ '๊ฐ์ฒด'๋ฅผ ๊ธฐ๋ฐํ๋ฉฐ, ์น ์๋ฒ์ ์น ์ดํ๋ฆฌ์ผ์ด์
๊ฐ์ ๋ฐ์ดํฐ ๊ตํ์ ์ฌ์ฉ ๋ฉ๋๋ค.
- 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);