1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
---
language: json
filename: learnjson-kr.json
contributors:
- ["Anna Harren", "https://github.com/iirelu"]
- ["Marco Scannadinari", "https://github.com/marcoms"]
- ["himanshu", "https://github.com/himanshu81494"]
- ["Michael Neth", "https://github.com/infernocloud"]
translators:
- ["Wooseop Kim", "https://github.com/linterpreteur"]
lang: ko-kr
---
JSON은 아주 간단한 데이터 교환 포맷입니다. [json.org](http://json.org/json-ko.html)에 의하면, 사람이 읽고 쓰기 쉬우며 기계가 분석하고 생성하기 쉽습니다.
JSON 한 개는 반드시 이하의 둘 중 하나를 나타내야 합니다.
* 이름과 값 쌍의 모임(`{ }`). 이는 다양한 언어에서 객체, 레코드, 구조체, 딕셔너리, 해시 테이블, 키 리스트, 혹은 연관 배열로 구현됩니다.
* 값에 순서가 있는 리스트 (`[ ]`). 이는 다양한 언어에서 배열, 벡터, 리스트, 시퀀스로 구현됩니다.
순수한 JSON은 사실 주석이 없지만 대부분의 파서는 C 스타일의 주석(`//`, `/* */`)도 받아들일 겁니다. 일부 파서는 꼬리에 오는 쉼표, 즉 배열의 마지막 원소 혹은 객체의 마지막 속성 다음에 오는 쉼표도 인정하겠지만, 호환성을 위해 쓰지 않는 것이 좋습니다.
이 튜토리얼의 목적에 따라 모든 것은 100% 유효한 JSON입니다. 다행스럽게도 JSON은 다소 자기서술적입니다.
지원하는 데이터 형:
* 문자열: `"안녕"`, `"\"따옴표.\""`, `"\u0abe"`, `"개행 문자.\n"`
* 수: `23`, `0.11`, `12e10`, `3.141e-10`, `1.23e+4`
* 객체: `{ "키": "값" }`
* 배열: `["값 값 값"]`
* 기타: `true`, `false`, `null`
```json
{
"키": "값",
"키는": "반드시 큰따옴표 안에 있어야 합니다.",
"수": 0,
"문자열": "Hellø, wørld. 모든 유니코드와 \"탈출 문자\"가 지원됩니다.",
"부울도 있나?": true,
"아무 것도 없는 건": null,
"큰 수": 1.2e+100,
"객체": {
"주석": "문서 구조의 대부분은 객체가 될 것입니다.",
"배열": [0, 1, 2, 3, "배열 안에는 무엇이든 올 수 있습니다.", 5],
"다른 객체": {
"주석": "객체는 객체를 포함할 수 있습니다. 아주 유용하죠."
}
},
"장난이지롱": [
{
"칼륨이 풍부한": ["바나나"]
},
[
[1, 0, 0, 0],
[0, 1, 0, 0],
[0, 0, 1, "neo"],
[0, 0, 0, 1]
]
],
"다른 방식": {
"주석": "여기 보세요!"
, "쉼표의 위치는": "상관 없습니다. 다음 키 전에만 온다면 유효합니다."
, "다른 주석": "참 좋죠"
},
"공백은": "상관이 없습니다.",
"짧았죠": "끝입니다. JSON의 모든 것을 터득하셨습니다."
}
```
## 더 읽기
* [JSON.org](http://json.org/json-ko.html) 플로우차트와 같은 그래픽을 이용해 설명한 JSON의 모든 것.
|