[N/W] JSONμ΄λ? - JSON ꡬ쑰, JSON λ°μ΄ν° νμ , JSON Array
μλ²μ ν΄λΌμ΄μΈνΈ κ° λ°μ΄ν° κ΅νμ μν΄ κΌ μμμΌ νλ 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