```json
{
"id": 12345,
"title": "JSON Example",
"tags": ["data", "format", "api"],
"author": {
"name": "Kim Daeseong",
"email": "
[email protected]"
},
"published": true,
"comments": [
{
"user": "alice",
"message": "Great post!",
"likes": 10
},
{
"user": "bob",
"message": "Very helpful, thanks!",
"likes": 7
}
]
}
```
### 1. 소개 (Introduction)
- JSON이란 무엇인가?
- 이름의 의미 (JavaScript Object Notation)
- XML 등 다른 데이터 포맷과의 비교
### 2. 기본 문법
- 데이터 구조
- 객체(Object)
- 배열(Array)
- 값(Value: 문자열, 숫자, 불리언, null)
- 키-값 쌍 규칙
- 따옴표 사용 규칙 (Double quotes)
### 3. 예제
- 간단한 JSON 객체
- 중첩 구조 (Nested JSON)
- 배열을 포함한 JSON
### 4. 활용 사례
- 설정 파일 (e.g., `package.json`, `tsconfig.json`)
- API 요청 및 응답 포맷
- 데이터 저장 및 전송
### 5. JSON과 프로그래밍 언어
- JavaScript에서 JSON 다루기 (`JSON.parse`, `JSON.stringify`)
- Python의 `json` 모듈
- Java, Go, R 등 다른 언어에서의 활용
### 6. 확장 및 응용
- JSON Schema (데이터 유효성 검증)
- JSON5 (주석, 단일 따옴표 허용 등 확장 문법)
- BSON, MessagePack 등 파생 포맷
### 7. 장점과 한계
- 장점: 경량, 읽기 쉬움, 언어 독립성
- 한계: 주석 불가, 대규모 데이터 비효율성
### 8. 베스트 프랙티스
- 들여쓰기와 포맷팅
- 데이터 크기 최소화
- UTF-8 인코딩 권장
- 키 이름 명확하게 작성하기
### 9. 도구 및 에코시스템
- JSON Validator, Linter
- JSON Viewer/Formatter
- 온라인 편집기 및 시각화 툴
### 10. 최신 동향
- OpenAPI/Swagger에서 JSON의 역할
- GraphQL과 JSON의 관계
- JSON 기반 설정 관리 트렌드