์๋ฒ์ ํด๋ผ์ด์ธํธ ๊ฐ ๋ฐ์ดํฐ ๊ตํ์ ์ํด ๊ผญ ์์์ผ ํ๋ JSON์ ๋ํด ์์๋ณด์๐
ํน์ ํ๋ก๊ทธ๋๋ฐ ๋ฌธ๋ฒ์ด ์๋ ๋จ์ํ ๋ฐ์ดํฐ๋ฅผ ํ์ํ๋ ํํ ๋ฐฉ๋ฒ์ผ๋ก ์ด๋ค ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณด์ฌ์ฃผ๋์ง ํ์ ํ๋ฉด ๋๋ค!
๐ก JSON์ด๋?
JavaScript Object Notation์ ์ฝ์๋ก '์๋ฐ ์คํฌ๋ฆฝํธ ๊ฐ์ฒด ํ๊ธฐ๋ฒ'.
๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ' ๊ต ํ ' ํ๊ณ ' ์ ์ฅ ' ํ๊ธฐ ์ํ ํ ์คํธ ๊ธฐ๋ฐ์ ๋ฐ์ดํฐ ๊ตํ ํ์ค.
๐ก JSON ๊ตฌ์กฐ
JSON์ ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ฐ์ฒด ํ๊ธฐ๋ฒ์ผ๋ก๋ถํฐ ํ์๋ ๋ถ๋ถ ์งํฉ.
๋ฐ๋ผ์ JSON ๋ฐ์ดํฐ๋ ๋ค์๊ณผ ๊ฐ์ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด ํ๊ธฐ๋ฒ์ ๋ฐ๋ฅธ ๊ตฌ์กฐ๋ก ๊ตฌ์ฑ.
1. JSON ๋ฐ์ดํฐ๋ ์ด๋ฆ๊ณผ ๊ฐ์ ์, key : value ํ์์ผ๋ก ๊ตฌ์ฑ, ์ค๊ดํธ({})๋ก ๋๋ฌ์์ ํํ
์ด๋ฌํ JSON ๋ฐ์ดํฐ๋ ๋ฐ์ดํฐ ์ด๋ฆ, ์ฝ๋ก (:), ๊ฐ์ ์์๋ก ๊ตฌ์ฑํ์ฌ ์ค๊ดํธ๋ก ๊ฐ์ผ๋ค.
{"๋ฐ์ดํฐ์ด๋ฆ": ๊ฐ}
{ key : value }
๋ค์ ์์ ๋ ๋ฐ์ดํฐ์ ์ด๋ฆ์ด "name"์ด๊ณ , ๊ฐ์ "์๋นต"์ด๋ผ๋ ๋ฌธ์์ด์ ๊ฐ๋ JSON ๋ฐ์ดํฐ์ ์์
{"name": "์๋นต"}
2. JSON ๋ฐ์ดํฐ๋ ์ผํ(,)๋ก ๋์ด
{
"name": "์๋นต",
"family": "์ฐ์์ฝ๊ธฐ",
"age": 1,
"weight": 2.14
}
๐ก JSON ๋ฐ์ดํฐ ํ์ (datatype)
JSON์์๋ ๋ฐ์ดํฐ์ ๊ฐ์ผ๋ก ์ฌ์ฉํ ์ ์๋ ๋ค์ํ ํ์ ์ ์ ๊ณต
JSON์์ ์ ๊ณตํ๋ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ํ์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
1. ์ซ์(number)
- ์ซ์๋ ์ ์ ๋๋ ๋ถ๋์์์ฌ์ผ ํจ. ํฐ ๋ฐ์ดํ("")๋ก ์ ๋ฌถ์
// JSON number(์ซ์)
{ "year" : 2022 }
2. ๋ฌธ์์ด(string)
- ํฐ๋ฐ์ดํ("")๋ก ๋ฌถ์ด์ค๋ค.
// JSON string(๋ฌธ์์ด)
{ "name" : "yeon" }
3. ๋ถ๋ฆฌ์ธ(boolean)
- ์ฐธ : true, ๊ฑฐ์ง : false
// JSON boolean(๋ถ๋ฆฌ์ธ)
{ "manager" : true }
4. ๊ฐ์ฒด(object)
- ๊ฐ์ฒด๋ JSON ๊ฐ์ฒด์ ๊ฐ์ ๊ท์น์ ๋ฐ๋ผ์ผ ํจ.
// JSON object(๊ฐ์ฒด)
{ "code" : { "HTML":"๊ธฐ๋ณธํ", "CSS":"๋์์ธ", "JS":"๋์๊ฐ๋ฅ" } }
5. ๋ฐฐ์ด(array)
- ๋ฐฐ์ด(array)์ ๋๊ดํธ([])๋ก ๋๋ฌ์์ ํํ. ๋ํ, JSON ๋ฐฐ์ด์ ์ผํ(,)๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ JSON ๋ฐ์ดํฐ๋ฅผ ํฌํจํ ์ ์๋ค.
// JSON array(๋ฐฐ์ด)
{ "number" : ["์ผ", "์ด", "์ผ"] }
6. null
- null : ๊ณต๊ฐ๋ง ์์ ๋ฟ, ์๋ฌด๊ฒ๋ ์๋ ์ํ, 0๊ณผ๋ ๋ค๋ฅธ ๊ฐ๋
// JSON NULL(๋)
{ "point" : null }
๐ก JSON Array
: ์ฌ๋ฌ๊ฐ์ JSON Object๋ค์ด ๋ชจ์ธ ๊ฒ์ด JSON Array๋ก ๋๊ดํธ '[ ]'๋ก ๋๋ฌ์ธ์ธ ๋ถ๋ถ.
JSON์ key๊ฐ ์๋ ๋ฐฐ์ด ํํ๋ก ๋ํ๋ด์ฌ ์ธ๋ฑ์ค๋ณ๋ก ๋๋์ด ์ ์ฅํ๊ณ ์ ๊ทผํ๋ค.
์๋ ์ฝ๋ ๊ฒฝ์ฐ
id๊ฐ 0, ์๋นต ๋ฐ์ดํฐ๋ ๋ฐฐ์ด์ 0๋ฒ ์ธ๋ฑ์ค,
id๊ฐ 1, ๋จํฅ๋นต ๋ฐ์ดํฐ๋ ๋ฐฐ์ด์ 1๋ฒ ์ธ๋ฑ์ค,
id๊ฐ 2, ์๋ผ๋นต ๋ฐ์ดํฐ๋ ๋ฐฐ์ด์ 2๋ฒ ์ธ๋ฑ์ค๊ฐ ๋๋ ๊ฒ!
[{"id": 0, "name": "์๋นต"}, //0๋ฒ index
{"id": 1, "name": "๋จํฅ๋นต"}, //1๋ฒ index
{"id": 2, "name": "์๋ผ๋นต"}] //2๋ฒ index
'โ๏ธ Etc.' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[N/W] ํ๋ก์ธ์ค(Process) VS ์ค๋ ๋(Thread) (0) | 2022.04.15 |
---|---|
[N/W] OSI 7๊ณ์ธต์ด๋? - OSI ๊ณ์ธต๋ณ ํน์ง, TCP/IP 4๊ณ์ธต (2) | 2022.04.05 |
[Linux] ๋ฆฌ๋ ์ค ๋ช ๋ น์ด - ์ธ์ด ์ค์ , ํ๊ธ ๊นจ์ง ํด๊ฒฐ(locale, export) (0) | 2022.01.17 |
[MacOS] BitBar๋ก 1์ผ 1์ปค๋ฐํด๋ณด์ (0) | 2021.12.22 |
[DB ๋ชจ๋ธ๋ง/์ค๊ณ] Metadata(๋ฉํ๋ฐ์ดํฐ) ๋? (0) | 2021.12.04 |