๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

โœ”๏ธ Etc.

[N/W] JSON์ด๋ž€? - JSON ๊ตฌ์กฐ, JSON ๋ฐ์ดํ„ฐ ํƒ€์ž…, JSON Array

728x90

์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๊ฐ„ ๋ฐ์ดํ„ฐ ๊ตํ™˜์„ ์œ„ํ•ด ๊ผญ ์•Œ์•„์•ผ ํ•˜๋Š” 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

 

 

๋ฐ˜์‘ํ˜•