
JSON 데이터 구조 이해하기
API를 사용하다 보면 가장 자주 접하게 되는 데이터 형식이 JSON(JavaScript Object Notation)입니다. 웹 브라우저, 모바일 앱, 서버는 서로 데이터를 주고받을 때 대부분 JSON 형식을 사용합니다. 프로그래밍 언어가 달라도 동일한 구조를 사용할 수 있어 현재 웹 서비스와 REST API의 표준 데이터 교환 방식으로 자리 잡았습니다. API를 제대로 이해하려면 JSON 구조를 읽고 작성하는 방법을 먼저 익히는 것이 중요합니다.

함께 읽으면 좋은 글
API 호출과 응답 데이터 처리 방법
API 호출과 응답 데이터 처리 방법웹 서비스와 애플리케이션은 다른 시스템의 기능이나 데이터를 사용하기 위해 API를 호출합니다. API 호출은 단순히 특정 URL에 접속하는 작업이 아니라 요청 방식, 요청 헤더, 인증 정보, 파라미터, 요청 본문 등을 서버에 전달하고
smartinsighthub.tistory.com
[API기초] API Key란 무엇인가? 안전하게 관리하는 방법
[API기초] API Key란 무엇인가? 안전하게 관리하는 방법
API Key란 무엇인가? 안전하게 관리하는 방법API를 사용하는 대부분의 서비스는 사용자를 식별하고 접근 권한을 확인하기 위해 API Key를 사용합니다. API Key는 단순한 문자열처럼 보이지만 서비스 접근 권한을 의미하는 중요한 인증 정보입니다. 관리 방법이 올
smartinsighthub.tistory.com
JSON이란 무엇인가?
JSON(JavaScript Object Notation)은 데이터를 저장하거나 서로 다른 시스템 간에 전달하기 위한 텍스트 기반 데이터 형식입니다. 이름은 JavaScript에서 유래했지만 현재는 Python, Java, C#, Go, PHP 등 거의 모든 프로그래밍 언어에서 사용할 수 있습니다.
JSON은 사람이 읽기 쉽고 컴퓨터가 처리하기도 쉬워 대부분의 REST API에서 기본 응답 형식으로 사용됩니다.
| 항목 | 설명 |
|---|---|
| 정식 명칭 | JavaScript Object Notation |
| 형태 | 텍스트(Text) |
| 주요 용도 | 데이터 저장 및 API 데이터 교환 |
| 지원 언어 | 대부분의 프로그래밍 언어 |
| 대표 사용처 | REST API, 웹 서비스, 모바일 앱 |
JSON의 기본 구조
JSON은 Key(키)와 Value(값)의 쌍으로 구성됩니다.
{
"name": "Kim",
"age": 30,
"city": "Seoul"
}
위 JSON에서 각각의 데이터는 다음과 같은 의미를 가집니다.
| Key | Value | 자료형 |
|---|---|---|
| name | Kim | 문자열(String) |
| age | 30 | 숫자(Number) |
| city | Seoul | 문자열(String) |
JSON에서 사용하는 자료형
| 자료형 | 예시 |
|---|---|
| 문자열(String) | "ChatGPT" |
| 숫자(Number) | 100, 3.14 |
| 참/거짓(Boolean) | true, false |
| 배열(Array) | ["A", "B", "C"] |
| 객체(Object) | {"name":"Kim"} |
| Null | null |
JSON 객체(Object)
객체(Object)는 여러 개의 Key와 Value를 하나로 묶는 구조입니다.
{
"id": 1001,
"name": "홍길동",
"email": "hong@example.com",
"age": 30
}
객체는 중괄호({ })로 표현하며 각각의 항목은 쉼표(,)로 구분합니다.
JSON 배열(Array)
배열(Array)은 여러 개의 값을 순서대로 저장하는 구조입니다.
{
"languages": [
"Python",
"Java",
"JavaScript"
]
}
배열은 대괄호([ ])를 사용하며 동일한 자료형뿐 아니라 서로 다른 자료형도 함께 저장할 수 있습니다.

객체 안에 객체가 있는 구조
실제 API에서는 객체 안에 또 다른 객체가 포함되는 경우가 많습니다.
{
"user": {
"name": "홍길동",
"age": 30
},
"company": {
"name": "ABC Corp",
"country": "Korea"
}
}
이처럼 JSON은 계층 구조를 표현할 수 있어 복잡한 데이터를 효율적으로 전달할 수 있습니다.
함께 읽으면 좋은 글
API 자동화, 매번 반복하던 작업을 한 번에 끝내는 방법
API 자동화, 매번 반복하던 작업을 한 번에 끝내는 방법
API 자동화, 매번 반복하던 작업을 한 번에 끝내는 방법API를 처음 접하면 요청을 보내고, 응답을 받고, 데이터를 다시 가공하는 과정이 생각보다 복잡하게 느껴집니다. 더 큰 문제는 비슷한 작업을 매번 사람이 직접 반복하게 된다는 점입니다.하지만 API의 기본 구조를
smartinsighthub.tistory.com
파이썬이 글로벌 시장에서 높은 인기를 유지하는 이유
파이썬이 글로벌 시장에서 높은 인기를 유지하는 이유인공지능과 데이터 분석 기술의 비약적인 발전 속에서 프로그래밍 언어의 선택은 프로젝트의 성패를 좌우하는 핵심 요소입니다. 과거 특정 영역에 국한되어 사용되던 파이썬은 오늘날 산업 전반에서 가장 널리 쓰이는 대표적인 언어
smartinsighthub.tistory.com
배열 안에 객체가 있는 구조
REST API에서 가장 많이 볼 수 있는 형태입니다.
{
"users": [
{
"id": 1,
"name": "Kim"
},
{
"id": 2,
"name": "Lee"
},
{
"id": 3,
"name": "Park"
}
]
}
목록(List) 데이터를 반환하는 대부분의 API는 이와 같은 구조를 사용합니다.
Python에서 JSON 다루기
실행 환경
- 운영체제 : Windows 11 / Ubuntu 24.04
- Python 3.12
import json
# JSON 문자열
json_data = '''
{
"name": "Kim",
"age": 30,
"city": "Seoul"
}
'''
# JSON을 Python Dictionary로 변환
data = json.loads(json_data)
# 데이터 출력
print(data["name"])
print(data["age"])
실행 결과
Kim
30
Python에서는 json.loads()를 사용하여 JSON 문자열을 Dictionary 형태로 변환한 뒤 일반 변수처럼 데이터를 사용할 수 있습니다.
REST API 응답에서 JSON 확인하기
API를 호출하면 서버는 일반적으로 다음과 같은 JSON 데이터를 반환합니다.
{
"success": true,
"message": "조회 성공",
"data": {
"id": 1,
"name": "홍길동",
"email": "hong@example.com"
}
}
이 구조에서 success는 요청 성공 여부를 나타내며, message는 처리 결과를 설명합니다. 실제 데이터는 data 객체 안에 포함되는 경우가 많습니다.
JSON 작성 시 주의사항
| 항목 | 설명 |
|---|---|
| Key는 반드시 큰따옴표 사용 | "name" |
| 문자열은 큰따옴표 사용 | "ChatGPT" |
| 마지막 항목 뒤 쉼표 사용 금지 | JSON 오류 발생 |
| 주석 사용 불가 | //, /* */ 지원하지 않음 |
| 중괄호와 대괄호 구분 | 객체와 배열은 서로 다름 |
실무에서 JSON을 사용하는 사례
- REST API 요청 및 응답 데이터
- 모바일 애플리케이션 서버 통신
- 웹 브라우저와 서버 간 데이터 교환
- AI API 프롬프트 및 응답
- 설정(Configuration) 파일
- NoSQL 데이터 저장
JSON은 사람이 쉽게 읽을 수 있고 대부분의 프로그래밍 언어에서 동일하게 처리할 수 있기 때문에 현대 웹 개발에서 가장 널리 사용되는 데이터 형식입니다.
마무리
JSON은 REST API를 이해하기 위한 가장 기본적인 데이터 구조입니다. 객체(Object), 배열(Array), Key와 Value의 개념만 이해해도 대부분의 API 응답을 읽을 수 있습니다. 이후에는 HTTP 요청, REST API, API 응답 코드와 함께 학습하면 웹 서비스가 데이터를 주고받는 전체 과정을 이해하는 데 큰 도움이 됩니다.
함께 읽으면 좋은 글
크롤링을 활용한 데이터 수집 자동화, 지금 알아두면 실무에서 확실히 써먹습니다
크롤링을 활용한 데이터 수집 자동화, 지금 알아두면 실무에서 확실히 써먹습니다
크롤링 자동화, 매번 복사하지 말고 데이터가 알아서 모이게 만드는 방법웹사이트에서 필요한 데이터를 매번 찾아 복사해 엑셀에 붙여넣는 작업은 단순하지만 반복될수록 많은 시간이 들어갑니다. 가격, 상품 목록, 공지사항, 채용 정보, 뉴스, 공개 통계처럼 일정한 형태의 데이
smartinsighthub.tistory.com
Python 조건문과 반복문, 실무에서 바로 써먹는 핵심만 정리했습니다
Python 조건문과 반복문, 실무에서 바로 써먹는 핵심만 정리했습니다
Python 조건문과 반복문, 실무에서 바로 써먹는 핵심만 정리했습니다Python으로 간단한 자동화 코드를 작성하다 보면 결국 조건문과 반복문을 만나게 됩니다. 문법 자체는 어렵지 않지만, 실제 코드에서는 어떤 조건을 먼저 판단하고 언제 반복을 멈출지 결정하는 것이 더
smartinsighthub.tistory.com
API를 활용한 업무 자동화 구조, 처음 시작한다면 이 순서부터 보세요
API를 활용한 업무 자동화 구조, 처음 시작한다면 이 순서부터 보세요
API를 활용한 업무 자동화 구조, 처음 시작한다면 이 순서부터 보세요매일 반복되는 데이터 수집, 이메일 발송, 시스템 간 정보 입력 작업은 업무 효율성을 떨어뜨리는 주된 원인입니다. 이러한 단순 반복 작업을 자동화하는 가장 확실한 방법은 시스템 간 연결 통로인 API
smartinsighthub.tistory.com
관련 태그
JSON, API, RESTAPI, 데이터구조, 웹개발, JavaScript, Python, 객체, 배열, Backend
'🛠️ 개발 > API' 카테고리의 다른 글
| API 호출과 응답 데이터 처리 방법 (0) | 2026.08.08 |
|---|---|
| [API기초] GET·POST·PUT·DELETE 요청 방식 이해하기 (0) | 2026.08.07 |
| [API기초] API Key란 무엇인가? 안전하게 관리하는 방법 (0) | 2026.08.07 |
| [API기초] REST API와 HTTP 요청 방식 이해하기 (0) | 2026.08.07 |
| [API기초] API란 무엇인가? 웹 서비스가 연결되는 원리 이해하기 (0) | 2026.08.07 |