JSON νμ
π JSONμμλ λ°μ΄ν°μ κ°μΌλ‘ μ¬μ©ν μ μλ λ€μν νμ μ μ 곡νκ³ μλ€. JSONμμ μ 곡νλ κΈ°λ³Ένμ μ λ€μκ³Ό κ°λ€.
π JSONμμ λνλΌ μ μλ μ«μμ μ’ λ₯λ λ€μκ³Ό κ°λ€.
JSONμμλ 8μ§μλ 16μ§μ λ±μ νννλ λ°©λ²μ μ 곡νμ§ μλλ€.
π JSONμμ μ μλ λΆνΈλ₯Ό κ°μ§λ μμ λΆλΆμ΄ μλ μλ₯Ό μλ―Ένλ€.
π μμ )
{
"age": 1
}
π JSONμμ μ€μλ μμ λΆλΆμ κ°μ§λ μλ₯Ό μλ―Ένλ€.
π μμ )
{
"weight": 2.14
}
π JSONμμλ λ§€μ° ν° μλ λ§€μ° μμ μλ₯Ό ννν λ eνκΈ°λ²μ μ¬μ©νμ¬ μ§μλ‘ ννν μ μλ€.
π μμ )
{
"size": 5.8426e+2
}
π JSONμμ λ¬Έμμ΄(string)μ΄λ μΌλ ¨μ μ°μλ λ¬Έμμ μ§ν©μ μλ―Ένλ€. μ΄λ¬ν λ¬Έμμ΄μ ν°λ°μ΄ν("") μμ μ λμ½λ λ¬Έμλ€μ λμ΄λ‘ ꡬμ±λλ€.
JSONμμ μμ¬λμ(\) λ¬Έμλ νΉμ λ¬Έμμ ν¨κ» μ¬μ©λμ΄ μ΄μ€μΌμ΄ν μνμ€(escape sequence)λ‘ μ¬μ©λλ€. λ°λΌμ JSONλ¬Έμμ΄μλ μμ¬λμ(\)μ ν°λ°μ΄ν(")λ₯Ό μ¬μ©ν μ μμΌλ©°, μ΄μ€μΌμ΄ν μνμ€λ‘ ννν΄μΌ νλ€.
π μμ )
{
"name": "μλΉ΅"
}
π‘ TIP ? μλ°μ€ν¬λ¦½νΈμμλ λ¬Έμμ΄μ ννν λ ν°λ°μ΄ν("")μ μμ λ°μ΄ν(")λ₯Ό λͺ¨λ μ¬μ©ν μ μμ§λ§, JSONμμλ μ€μ§ ν°λ°μ΄ν("")λ§μ μ¬μ©ν μ μλ€.
π μ΄μ€μΌμ΄ν μνμ€(escape sequence)λ λ¬Έμμ΄μ΄ νλ©΄μ μΆλ ₯λ λ μ¬μ©νκ² λ νΉμν λ¬Έμλ₯Ό μν΄ λ§λ€μ΄μ‘λ€.
μ΄λ¬ν μ΄μ€μΌμ΄ν μνμ€ μμ¬λμ(\)μ νΉμ λ¬Έμμμ μ‘°ν©μΌλ‘ μ¬μ©ν μ μλ€.
JSONμμ μ¬μ©ν μ μλ μ΄μ€μΌμ΄ν μνμ€λ λ€μκ³Ό κ°λ€.
μ΄μ€μΌμ΄ν μνμ€ | μ€λͺ |
\d | λ°±μ€νμ΄μ€ |
\f | νΌ νΌλ(form feed) |
\n | κ°ν |
\r | μΊλ¦¬μ§ 리ν΄(carrige return) |
\t | ν(tab) |
\" | ν°λ°μ΄ν |
\/ | μ¬λμ |
\\ | μμ¬λμ |
\uHHHH | 16μ§μ λ€ μλ¦¬λ‘ ννλ μ λμ½λ λ¬Έμ |
λ€μ μμ λ JSON λ¬Έμμ΄μμ ν° λ°μ΄νλ₯Ό νννκΈ° μν΄ μ΄μ€μΌμ΄ν μνμ€λ₯Ό μ¬μ©νλ μμ μ΄λ€.
π μμ )
{
"comment": "μλ
νμΈμ. \"μλΉ΅\" μ
λλ€."
}
JSON νμ(parser)λ μ°μ JSON λ°μ΄ν°λ₯Ό λͺ¨λ μ½μ΄ λ€μΈλ€.
μμ μμ μ²λΌ ν°λ°μ΄νλ₯Ό μ΄μ€μΌμ΄ν μνμ€(\"
)λ‘ νννμ§ μμλ€λ©΄, μλΉ΅μ΄λΌλ λ¬Έμμ΄ μμ μλ ν°λ°μ΄νμμ λ¬Έμμ΄μ΄ λͺ¨λ λλ¬λ€κ³ μΈμν κ²μ΄λ€. λ°λΌμ JSON νμλ μ€λ₯λ₯Ό λ°μμν¬ κ²μ΄λ€.
μ΄μ²λΌ λ¬Έμμ΄ λ΄μμ ν°λ°μ΄νλ μμ¬λμλ₯Ό νννκΈ° μν΄μλ λ°λμ μ΄μ€μΌμ΄ν μνμ€λ₯Ό μ¬μ©νμ¬ JSON νμμ ν΄λΉ λ°μ΄νλ λ¬Έμμ΄μ λλ΄λ λ°μ΄νκ° μλλΌλ μ¬μ€μ μλ €μ£Όμ΄μΌλ§ νλ€.
π JSONμμ λΆλ¦¬μΈ κ°μ μ°Έ(true)κ³Ό κ±°μ§(false)μ νννλ€. μΌλΆ λ€λ₯Έ νλ‘κ·Έλλ° μΈμ΄μμλ true κ°μΌλ‘ 1μ, false κ°μΌλ‘ 0μ λμ μ¬μ©ν μ μλ€. λν, λμλ¬Έμμ κ΅¬λΆ μμ΄ True, TRUE, False, FALSE λ±μ λͺ¨λ μ¬μ©ν μ μλ μΈμ΄λ μ‘΄μ¬νλ€.
νμ§λ§ JSONμμ λΆλ¦¬μΈ κ°μ νμ trueμ falseλ₯Ό μλ¬Έμλ‘ νκΈ°ν΄μ μ¬μ©ν΄μΌ νλ€.
π μμ )
{
"name": "μλΉ΅",
"lunch": true
}
π JSONμμ κ°μ²΄(object)λ λ°μ΄ν° μ΄λ¦κ³Ό κ°μ ν μμΌλ‘ ꡬμ±λ νλ‘νΌν°μ μ λ ¬λμ§ μμ μ§ν©μ μλ―Ένλ€.
μ΄λ¬ν JSON κ°μ²΄λ μ€κ΄νΈ({})λ‘ λλ¬μΈμ¬ μλ€.
π μμ )
{
"name": "μλΉ΅",
"family": "μ°μμ½κΈ°",
"age": 1,
"weight": 2.14
}
π JSONμμ λ°μ΄ν° μ΄λ¦κ³Ό λμνλ κ°μΌλ‘ μ«μ, λ¬Έμμ΄, λΆλ¦¬μΈλΏλ§ μλλΌ λ λ€λ₯Έ κ°μ²΄κ° μ¬ μλ μλ€. λ§μ½ λ°μ΄ν°μ κ°μ΄ κ°μ²΄λΌλ©΄ κ°μ²΄ μμ κ°μ²΄κ° ν¬ν¨λλ κ³μΈ΅ κ΅¬μ‘°κ° νμ±λλ€.
π μμ )
{
"dog": {
"name": "μλΉ΅",
"family": "μ°μμ½κΈ°",
"age": 1,
"weight": 2.14,
"owner": {
"ownerName": "νκΈΈλ",
"phone": "01012345678"
}
}
}
μμ μμ μμ κ°μ₯ μμ κ³μΈ΅μ λ°μ΄ν° μ΄λ¦μ "dog"μ΄λ©°, λ°μ΄ν°κ°μΌλ‘ λ€μ― κ°μ λ λ€λ₯Έ λ°μ΄ν°λ₯Ό κ°μ§κ³ μλ€.
κ·Έμ€μμ λ€μ― λ²μ§Έ λ°μ΄ν°μΈ "owner"κ°μ²΄λ "ownerName"κ³Ό "phone"μ΄λΌλ λ λ€λ₯Έ λ°μ΄ν°λ₯Ό κ°μ§κ³ μλ€.
π JSONμμ λ°°μ΄(array)μ΄λ μ¬λ¬ κ°μ λ°μ΄ν°κ° μμλ₯Ό κ°μ§κ³ λμ΄λ μ§ν©μ μλ―Ένλ€. μ΄λ¬ν JSON λ°°μ΄μ λκ΄νΈ([])λ‘ λλ¬μΈμ¬ μλ€.
λ€μ μμ λ μΈ κ°μ λ¬Έμμ΄ μμλ₯Ό κ°μ§λ "dog"λΌλ μ΄λ¦μ JSON λ°°μ΄ μμ μ΄λ€.
π μμ )
{
"dog": [
"μ°μμ½κΈ°",
"ν¬λ©λΌλμ",
"νΈλ€"
]
}
JSONμμ λ°°μ΄μ μΈλ±μ€λ μΈμ λ 0λΆν° μμνλ€. λ°λΌμ μμ μμ μμ "μ°μμ½κΈ°"λ 0, "ν¬λ©λΌλμ"μ 1, "νΈλ€"μ 2μ μΈλ±μ€λ₯Ό κ°μ§κ² λλ€.
π JSONμμ λ°°μ΄κ³Ό κ°μ²΄λ μ¬λ¬ λ°μ΄ν°λ₯Ό λ¬Άμ΄λμ μ§ν©μ΄λΌλ μ μμ μλ‘ λΉμ·ν νμ μ΄λ€. νμ§λ§ κ°μ²΄λ νλ‘νΌν°μ μ§ν©μ΄λ©°, λ°°μ΄μ λ°μ΄ν°κ°μ μ§ν©μ΄λΌλ μ°¨μ΄κ° μλ€.
π‘ λ¬Έλ²)
{
"dog": [
"μ°μμ½κΈ°",
"ν¬λ©λΌλμ",
"νΈλ€",
{
"ownerName": "νκΈΈλ",
"phone": "01012345678"
}
]
}
μμ μμ μμ "dog"λΌλ μ΄λ¦μ JSON λ°°μ΄μ λ¬Έμμ΄λΏλ§ μλλΌ κ°μ²΄λ μμλ‘ κ°μ§κ³ μλ€.
λλΆλΆμ νλ‘κ·Έλλ° μΈμ΄μμ λ°°μ΄μ μ¬λ¬ νμ μ λ°μ΄ν°λ₯Ό λμμ κ°μ§ μ μλ€.
νμ§λ§ μλ°μ€ν¬λ¦½νΈ κΈ°λ°μ JSON λ°°μ΄μ μ¬λ¬ νμ μ λ°°μ΄ μμλ₯Ό κ°μ§ μ μλ€.
π JSONμμ nullμ΄λ μλ¬΄λ° κ°λ κ°μ§κ³ μμ§ μμ λΉ κ°μ μλ―Ένλ€. JSONμμ μ΄λ¬ν null κ°μ νμ nullμ μλ¬Έμλ‘ νκΈ°ν΄μ μ¬μ©ν΄μΌ νλ€.
π μμ )
{
"id": 1,
"name": null
}
π nullμ μλ°μ€ν¬λ¦½νΈμ undefined νμ κ³Ό νΌλνκΈ° μ½λ€. λκ΅°λ€λ JSONμμλ undefined νμ μ μ 곡νμ§ μμΌλ―λ‘, λμ± μ μν΄μΌ νλ€.
μλ°μ€ν¬λ¦½νΈμμ 'κ°' μμ²΄κ° μλ€λ μλ―Έμ undefined κ°μ μ΄κΈ°νλμ§ μμ λ³μλ μ‘΄μ¬νμ§ μλ κ°μ μ κ·Όν λ λ°ννλ€. νμ§λ§ JSONμμ nullμ΄λ 'κ°'μ κ°μ§κ³ μμ§ μλ€λ μλ―Έλ₯Ό κ°μ§λ νλμ λ°μ΄ν°κ°μ΄λΌκ³ ν μ μλ€.
JSON μ¬μ©λ² (0) | 2018.11.16 |
---|---|
[JSON] μ€ν€λ§ (0) | 2018.11.15 |
[JSON] κΈ°μ΄ (0) | 2018.11.15 |