JavaScript Object Notation
JSON์ ๋ฐ์ดํฐ ๊ตํ์ ์ํด ๋ง๋ค์ด์ง ๊ฐ์ฒด ํํ์ ํฌ๋งท์ ๋งํ๋ค.
const message = {
sender: "TATA",
receiver: "CHIMMY",
message: "CHIMMY์ผ ์ค๋ ์ ์ฌ ๋ญ ๋จน์๊น?",
createdAt: "2022-02-14 10:10:10"
}
// ๋คํธ์ํฌ๋ฅผ ํตํด ์ด ๊ฐ์ฒด ๋ด์ฉ์ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์๊ฒ ์ ์กํ๊ณ ์ถ๋ค๋ฉด,
// JSON.stringify์ JSON.parse๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.
// JSON.stringify => ๊ฐ์ฒด๋ฅผ JSON์ผ๋ก ๋ณํํ๋ค.
// JSON.parse => JSON์ ๊ฐ์ฒด๋ก ๋ณํํ๋ค.
// โ๏ธ์ฐธ๊ณ ) ์ ์ก ๊ฐ๋ฅ ์กฐ๊ฑด - ์์ ์์ ๋ฐ์ ์๊ฐ ๊ฐ์ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉ, ๋๋ ๋ฌธ์์ด์ฒ๋ผ ๋ฒ์ฉ์ ์ผ๋ก ์ฝ์ ์ ์์ด์ผ ํจ
๊ฐ์ฒด๋ฅผ JSON์ผ๋ก ๋ณํํ๋ ๋ฉ์๋์ด๋ค.
(JSON์ผ๋ก ๋ณํ๋ ๊ฐ์ฒด์ ํ์
์ ๋ฌธ์์ด์ด๋ค.)
โ๏ธ์ฐธ๊ณ ) stringifyํ๋ ์ด ๊ณผ์ ์ ์ง๋ ฌํ(serialize)ํ๋ค๊ณ ํ๋ค.
// message๊ฐ์ฒด๋ฅผ JSON์ผ๋ก ๋ณํํ๋ ๋ฉ์๋ JSON.stringify
let transferableMessage = JSON.stringify(message)
console.log(transferableMessage)
// `{"sender":"TATA","receiver":"CHIMMY","message":"CHIMMY์ผ ์ค๋ ์ ์ฌ ๋ญ ๋จน์๊น?","createdAt":"2022-02-14 10:10:10"}`
console.log(typeof(transferableMessage))
// `string`
JSON(๋ฌธ์์ด)์ ๋ค์ ๊ฐ์ฒด ํํ๋ก ๋ณํ์์ผ ์ค๋ค.
โ๏ธ์ฐธ๊ณ ) JSON.parseํ๋ ๊ณผ์ ์ ์ญ์ง๋ ฌํ(deserialize)ํ๋ค๊ณ ํ๋ค.
// ์ง๋ ฌํ๋ JSON์ ๋ฉ์๋ JSON.parse๋ฅผ ์ ์ฉํ๋ฉด,
// ๋ค์ ๊ฐ์ฒด์ ํํ๋ก ๋ณํํ ์ ์๋ค.
let packet = `{"sender":"TATA","receiver":"CHIMMY","message":"CHIMMY์ผ ์ค๋ ์ ์ฌ ๋ญ ๋จน์๊น?","createdAt":"2022-02-14 10:10:10"}`
let obj = JSON.parse(packet)
console.log(obj)
/*
* {
* sender: "TATA",
* receiver: "CHIMMY",
* message: "CHIMMY์ผ ์ค๋ ์ ์ฌ ๋ญ ๋จน์๊น?",
* createdAt: "2022-02-14 10:10:10"
* }
*/
console.log(typeof(obj))
// `object`
์ง๋ ฌํ์ ์ญ์ง๋ ฌํ ๋ชจ์๋
๋น์ทํด ๋ณด์ด์ง๋ง ๋ค๋ฅด๊ฒ ์๊ธด JSON๊ณผ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด
์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด | JSON | |
---|---|---|
ํค | ํค๋ ๋ฐ์ดํ ์์ด ์ธ ์ ์์ { key : "property" } | ๋ฐ๋์ ์๋ฐ์ดํ๋ฅผ ๋ถ์ฌ์ผ ํจ '{"key":"property"}' |
๋ฌธ์์ด ๊ฐ | ์์๋ฐ์ดํ๋ ์ฌ์ฉ ๊ฐ๋ฅ { "key" : 'property' } | ๋ฐ๋์ ํฐ๋ฐ์ดํ๋ก ๊ฐ์ธ์ผ ํจ '{"key":"property"}' |
ํค์ ๊ฐ ์ฌ์ด ๊ณต๋ฐฑ | ์ฌ์ฉ ๊ฐ๋ฅ {"key" : 'property'} | ์ฌ์ฉ ๋ถ๊ฐ๋ฅ '{"key":"property"}' |
ํค-๊ฐ ์ ์ฌ์ด ๊ณต๋ฐฑ | ์ฌ์ฉ ๊ฐ๋ฅ { "key":'property', num:1 } | ์ฌ์ฉ ๋ถ๊ฐ๋ฅ '{"key":"property","num":1}' |
๐ JSON ๊ณต์ ๋ฌธ์