JSON 데이터 형식 이해하기 📦
API를 배우다 보면 JSON이라는 단어를 자주 듣게 됩니다. JSON은 프로그램들이 데이터를 주고받을 때 사용하는 형식이에요. 아주 쉽게 설명해드릴게요!
JSON을 일상생활로 비유하면?
JSON을 택배 상자 라벨로 비유해볼까요?
📦 택배 상자
┌──────────────────┐
│ 받는 사람: 홍길동 │
│ 주소: 서울시 강남구 │
│ 전화번호: 010-1234-5678 │
│ 물건: 책 │
└──────────────────┘
이 정보를 JSON으로 쓰면:
{
"받는사람": "홍길동",
"주소": "서울시 강남구",
"전화번호": "010-1234-5678",
"물건": "책"
}
JSON의 정식 이름
JSON = JavaScript Object Notation
"자바스크립트 객체 표기법"이라는 뜻이지만, 모든 프로그래밍 언어에서 사용할 수 있어요!
JSON의 기본 규칙
1. 중괄호 로 감싸요
{
"이름": "값"
}
2. 쌍따옴표 " "를 사용해요
{
"이름": "홍길동"
}
3. 콜론 : 으로 이름과 값을 연결해요
{
"나이": 25
}
4. 쉼표 , 로 여러 정보를 구분해요
{
"이름": "홍길동",
"나이": 25,
"직업": "개발자"
}
JSON 데이터 타입
JSON에서 사용할 수 있는 값들:
1. 문자열 (String) ""
{
"이름": "홍길동",
"도시": "서울"
}
2. 숫자 (Number)
{
"나이": 25,
"키": 175.5,
"온도": -5
}
3. 참/거짓 (Boolean)
{
"회원가입완료": true,
"이메일인증": false
}
4. 배열 (Array) [ ]
여러 개를 담을 때 사용:
{
"취미": ["독서", "영화", "코딩"],
"점수": [90, 85, 95]
}
5. 객체 (Object)
정보를 그룹으로 묶을 때:
{
"사용자": {
"이름": "홍길동",
"나이": 25
}
}
6. null
값이 없을 때:
{
"중간이름": null
}
실제 예시로 이해하기
예시 1: 사용자 정보 👤
{
"이름": "홍길동",
"나이": 25,
"이메일": "hong@example.com",
"회원": true,
"주소": {
"도시": "서울",
"구": "강남구"
},
"취미": ["독서", "영화감상", "코딩"]
}
예시 2: 쇼핑몰 상품 🛍️
{
"상품명": "노트북",
"가격": 1500000,
"재고": 5,
"할인중": true,
"색상": ["실버", "그레이", "블랙"],
"사양": {
"CPU": "i7",
"RAM": "16GB",
"저장장치": "512GB SSD"
}
}
예시 3: 날씨 정보 ☀️
{
"도시": "서울",
"온도": 23,
"날씨": "맑음",
"습도": 60,
"비올확률": 0,
"주간예보": [
{"요일": "월", "온도": 22},
{"요일": "화", "온도": 24},
{"요일": "수", "온도": 25}
]
}
JSON 배열 이해하기
여러 개의 데이터를 담을 때는 대괄호 [ ]를 사용해요:
단순 배열
["사과", "바나나", "오렌지"]
객체 배열
[
{
"이름": "홍길 동",
"나이": 25
},
{
"이름": "김철수",
"나이": 30
},
{
"이름": "이영희",
"나이": 28
}
]
JSON 읽는 법
{
"학생": {
"이름": "홍길동",
"점수": [90, 85, 95],
"합격": true
}
}
이렇게 읽으면 돼요:
- "학생이라는 정보가 있고"
- "그 안에 이름은 홍길동이고"
- "점수는 90, 85, 95점이고"
- "합격은 true(참)이야"
JSON vs 다른 형식
JSON vs CSV
CSV (엑셀 같은 표 형식):
이름,나이,도시
홍길동,25,서울
김철수,30,부산
JSON:
[
{"이름": "홍길동", "나이": 25, "도시": "서울"},
{"이름": "김철수", "나이": 30, "도시": "부산"}
]
JSON의 장점:
- 복잡한 구조 표현 가능
- 중첩된 데이터 쉽게 표현
- API에서 표준으로 사용
실전 활용 예시
API 응답 예시
GitHub API에서 사용자 정보를 요청하면:
{
"login": "github",
"id": 1,
"name": "GitHub",
"location": "San Francisco",
"public_repos": 344,
"followers": 1000000,
"following": 0
}
설정 파일 예시
프로그램 설정을 JSON으로:
{
"앱이름": "내 웹사이트",
"버전": "1.0.0",
"데이터베이스": {
"호스트": "localhost",
"포트": 3306,
"사용자": "admin"
},
"기능": {
"다크모드": true,
"알림": true,
"자동저장": false
}
}
JSON 도구 사용하기
우리 사이트의 도구들로 JSON을 다뤄보세요!
1. JSON 예쁘게 정리하기
JSON Formatter - 복잡한 JSON을 보기 좋게!
2. JSON 데이터 탐색하기
JSON Path Tester - JSON에서 원하는 데이터 찾기
3. JSON을 다른 형식으로 변환
- JSON to TypeScript - 타입스크립트 코드로
- CSV-JSON Converter - CSV와 JSON 변환
흔한 실수와 해결법
❌ 실수 1: 쉼표 빼먹기
{
"이름": "홍길동"
"나이": 25
}
✅ 올바른 방법:
{
"이름": "홍길동",
"나이": 25
}
❌ 실수 2: 마지막에 쉼표 추가
{
"이름": "홍길동",
"나이": 25,
}
✅ 올바른 방법:
{
"이름": "홍길동",
"나이": 25
}
❌ 실수 3: 작은따옴표 사용
{
'이름': '홍길동'
}
✅ 올바른 방법:
{
"이름": "홍길동"
}
❌ 실수 4: 주석 작성
{
// 이것은 주석입니다
"이름": "홍길동"
}
JSON에서는 주석을 쓸 수 없어요! ❌
JSON이 사용되는 곳
1. API 통신 🌐
대부분의 웹 API는 JSON으로 데이터를 주고받아요.
// API 요청
fetch('https://api.example.com/users')
.then(response => response.json())
.then(data => console.log(data))
2. 설정 파일 ⚙️
package.json(Node.js)tsconfig.json(TypeScript)settings.json(VS Code)
3. 데이터 저장 💾
NoSQL 데이터베이스 (MongoDB 등)는 JSON 형식으로 데이터를 저장해요.
4. 데이터 교환 📤📥
서버와 클라이언트가 데이터를 주고받을 때.
자주 묻는 질문 (FAQ)
Q1: JSON은 프로그래밍 언어인가요?
A: 아니요! JSON은 데이터 형식입니다. 데이터를 표현하는 방법일 뿐이에요.
Q2: JSON은 자바스크립트에서만 사용하나요?
A: 아니요! 거의 모든 프로그래밍 언어에서 사용할 수 있어요.
- Python
- Java
- C++
- PHP
- Ruby 등등!
Q3: JSON과 XML의 차이는?
A: XML은 예전에 많이 쓰였던 형식이에요. JSON이 더 간단하고 읽기 쉬워서 요즘은 JSON을 더 많이 써 요.
XML:
<user>
<name>홍길동</name>
<age>25</age>
</user>
JSON:
{
"name": "홍길동",
"age": 25
}
Q4: JSON 파일 확장자는?
A: .json 입니다.
data.json
config.json
users.json
JSON 유효성 검사
JSON이 올바른 형식인지 확인하려면:
- JSON Formatter 사용
- 온라인 JSON 검증 도구 사용
- 브라우저 개발자 도구에서 확인
실습: 직접 JSON 만들어보기
자신의 정보를 JSON으로 만들어보세요:
{
"이름": "여러분의 이름",
"나이": 여러분의 나이,
"거주지": "여러분의 도시",
"취미": [
"취미1",
"취미2",
"취미3"
],
"학생": true,
"소개": {
"좋아하는음식": "...",
"좋아하는색": "..."
}
}
JSON Formatter에 붙여넣고 "Format" 버튼을 눌러보세요! 예쁘게 정리되고 문법 오류도 확인할 수 있어요.
다음 단계 🚀
JSON을 이해했다면:
- ✅ JSON Formatter - JSON 예쁘게 정리하기
- ✅ JSON Path Tester - JSON 데이터 검색하기
- ✅ API Tester - JSON을 사용하는 API 테스트
- ✅ JSON to TypeScript - JSON을 코드로 변환
마무리
JSON은 어렵지 않아요! 데이터를 정리하는 방법 중 하나예요.
기억할 포인트:
{ }중괄호로 시작하고 끝남" "쌍따옴표 사용:콜론으로 이름과 값 연결,쉼표로 항목 구분- 마지막 항목 뒤에는 쉼표 없음
이제 JSON을 읽고 쓸 수 있게 되셨나요? 🎉
API를 배우고 웹 개발을 하려면 JSON은 필수예요. 자주 보다 보면 금방 익숙해질 거예요!