JSON은 데이터를 저장하고 전송하는 가장 널리 사용되는 텍스트 기반 파일 형식입니다. 웹 개발, API 통신, 설정 파일 등 거의 모든 프로그래밍 환경에서 JSON 파일을 사용하며, 사람이 읽기 쉽고 기계가 처리하기도 쉬운 것이 가장 큰 장점입니다.
JSON 형식의 핵심은 단 두 가지 구조입니다. 중괄호 {}로 감싸는 객체(Object)와 대괄호 []로 감싸는 배열(Array). 이 글에서는 JSON의 기초 개념부터 실제 데이터 구조 작성법, 그리고 실무에서 자주 하는 실수까지 초보자도 바로 이해할 수 있도록 설명해 드립니다.
목차
- JSON이란? 정의와 특징
- JSON 데이터 구조와 문법 규칙
- JSON 파일 실전 활용 예시
- JSON 작성 시 자주 하는 실수
- 마무리
1. JSON이란? 정의와 특징
JSON(JavaScript Object Notation)은 데이터를 키-값 쌍으로 표현하는 경량 데이터 교환 형식입니다. 이름에 JavaScript가 들어있지만, 거의 모든 프로그래밍 언어에서 지원합니다.
JSON의 핵심 특징
| 특징 | 설명 |
| 가독성 | 사람이 읽고 이해하기 쉬운 텍스트 형식 |
| 경량성 | XML보다 데이터 크기가 30~50% 작음 |
| 언어 독립적 | Python, Java, JavaScript, PHP 등 모든 언어 지원 |
| 계층 구조 | 중첩된 데이터 표현 가능 |
💡 실전 팁: 확장자는 .json을 사용하며, MIME 타입은 application/json입니다. API 개발 시 Content-Type 헤더에 이 값을 명시해야 합니다.
JSON vs XML 비교
같은 데이터를 JSON과 XML로 표현하면 차이가 명확합니다.
JSON 형식:
{
"이름": "홍길동",
"나이": 25
}
XML 형식:
<사람>
<이름>홍길동</이름>
<나이>25</나이>
</사람>
📌 핵심 포인트: JSON은 태그가 없어 데이터 용량이 작고, 파싱 속도도 빠릅니다. 2026년 현재 대부분의 REST API와 웹 서비스에서 JSON을 표준으로 사용합니다.
2. JSON 데이터 구조와 문법 규칙
JSON 파일은 객체(Object)와 배열(Array) 두 가지 구조만 알면 모든 데이터를 표현할 수 있습니다. 문법 규칙도 매우 단순합니다.
지원하는 데이터 타입 6가지
| 타입 | 예시 | 설명 |
| 문자열(String) | "안녕하세요" | 반드시 큰따옴표 사용 |
| 숫자(Number) | 123, 3.14 | 정수, 소수 모두 가능 |
| 불리언(Boolean) | true, false | 소문자로만 작성 |
| 배열(Array) | [1, 2, 3] | 대괄호로 감싸기 |
| 객체(Object) | {"키": "값"} | 중괄호로 감싸기 |
| Null | null | 빈 값, 소문자로만 작성 |
객체(Object) 구조
객체는 키-값 쌍의 집합입니다. 키는 반드시 문자열이어야 하며, 콜론(:)으로 값과 구분합니다.
{
"상품명": "무선 키보드",
"가격": 45000,
"재고있음": true,
"제조사": null
}
배열(Array) 구조
배열은 순서가 있는 값들의 목록입니다. 쉼표(,)로 각 항목을 구분합니다.
{
"과일목록": ["사과", "바나나", "오렌지"],
"점수": [95, 87, 92, 78]
}
중첩 구조 활용
JSON 데이터 구조의 강력한 점은 객체 안에 객체, 배열 안에 객체 등 자유롭게 중첩할 수 있다는 것입니다.
{
"회원정보": {
"이름": "김철수",
"연락처": {
"이메일": "kim@example.com",
"전화": "010-1234-5678"
},
"구매이력": [
{"상품": "노트북", "금액": 1200000},
{"상품": "마우스", "금액": 35000}
]
}
}
⚠️ 주의사항: 마지막 항목 뒤에는 쉼표를 붙이지 않습니다. "금액": 35000, ← 이렇게 하면 오류 발생!
3. JSON 파일 실전 활용 예시
JSON 파일은 설정 파일, API 응답, 데이터 저장 등 다양한 용도로 활용됩니다. 실제 현업에서 사용하는 형태를 살펴보겠습니다.
예시 1: 웹사이트 설정 파일
{
"siteName": "나의 블로그",
"version": "2.1.0",
"settings": {
"darkMode": false,
"language": "ko",
"postsPerPage": 10
}
}
예시 2: API 응답 데이터
{
"status": "success",
"code": 200,
"data": {
"users": [
{"id": 1, "name": "홍길동", "active": true},
{"id": 2, "name": "이영희", "active": false}
],
"totalCount": 2
}
}
예시 3: package.json (Node.js 프로젝트)
{
"name": "my-project",
"version": "1.0.0",
"description": "샘플 프로젝트",
"scripts": {
"start": "node index.js",
"test": "jest"
},
"dependencies": {
"express": "^4.18.2"
}
}
💡 실전 팁: VS Code에서 .json 파일을 열면 자동으로 문법 검사와 코드 하이라이팅이 적용됩니다. 오류가 있으면 빨간 밑줄로 표시되니 초보자도 쉽게 확인할 수 있습니다.
4. JSON 작성 시 자주 하는 실수
JSON 문법 오류의 90%는 따옴표, 쉼표, 괄호 문제입니다. 아래 체크리스트로 오류를 예방하세요.
❌ 흔한 실수 TOP 5
1. 작은따옴표 사용
{'이름': '홍길동'} // ❌ 오류
{"이름": "홍길동"} // ✅ 정상
2. 마지막 쉼표(Trailing Comma)
{
"a": 1,
"b": 2, // ❌ 마지막 쉼표 오류
}
3. 주석 사용
{
"설정": "값" // 이것은 주석입니다 ❌ JSON은 주석 미지원
}
4. 숫자를 따옴표로 감싸기
{"나이": "25"} // 문자열 "25"
{"나이": 25} // 숫자 25 ✅
5. Boolean 대문자 사용
{"활성": True} // ❌ 오류
{"활성": true} // ✅ 소문자만 가능
📌 핵심 체크리스트:
✅ 모든 키와 문자열 값은 큰따옴표("") 사용
✅ 마지막 항목 뒤에 쉼표 없음
✅ true, false, null은 소문자로만 작성
✅ 중괄호 {}와 대괄호 [] 짝 맞추기
⚠️ 이 부분 놓치면 손해 봐요: JSON 파싱 오류가 발생하면 전체 데이터를 읽을 수 없습니다. 온라인 JSON 검증 도구(JSONLint 등)를 활용해 배포 전 반드시 검사하세요.
마무리
JSON 파일 형식은 웹 개발과 데이터 교환의 표준으로, 객체({})와 배열([]) 두 가지 구조만 이해하면 누구나 쉽게 사용할 수 있습니다. 핵심 규칙은 세 가지입니다.
첫째, 문자열과 키는 반드시 큰따옴표 사용.
둘째, 마지막 항목 뒤에 쉼표 금지.
셋째, true/false/null은 소문자로만 작성 .
JSON 데이터 구조는 처음엔 낯설어 보여도, 몇 번 직접 작성해 보면 금방 익숙해집니다. 오늘 배운 내용을 바탕으로 간단한 설정 파일이나 데이터 파일을 직접 만들어 보세요. 10분만 실습하면 기본기는 완전히 마스터할 수 있습니다.
댓글