JSON(JavaScript Object Notation)은 데이터를 저장하고 교환하기 위한 경량 데이터 형식입니다. 일반적으로 웹 애플리케이션에서 서버와 클라이언트 간 데이터 교환을 위해 많이 사용됩니다. JSON은 사람이 읽고 쓰기 쉽고, 기계가 파싱하고 생성하기도 간편합니다. XML과 비교했을 때 더 간결하고 직관적인 구조를 가지고 있어 API 응답, 설정 파일, 데이터 저장 등에 널리 활용됩니다. 파이썬에서는 json 모듈을 사용하여 JSON 데이터를 쉽게 다룰 수 있습니다.
🔹 1. JSON 데이터란?
JSON은 키-값 쌍으로 이루어진 데이터 포맷으로, 대부분의 프로그래밍 언어에서 지원됩니다.
예제 JSON 데이터:
{
"name": "Alice",
"age": 25,
"city": "Seoul"
}
📌 특징:
- 키(key)는 항상 문자열
- 값(value)은 숫자, 문자열, 리스트, 객체(JSON) 등이 될 수 있음
- 데이터 교환 시 널리 사용됨 (예: API 응답, 설정 파일)
🔹 2. JSON 문자열을 파이썬 객체로 변환 (json.loads)
json.loads() 함수는 JSON 형식의 문자열을 파이썬의 딕셔너리로 변환합니다. 이는 JSON 데이터를 프로그램에서 쉽게 조작하고 활용할 수 있도록 도와줍니다. 예를 들어, API 응답을 받아 처리할 때 유용하게 사용할 수 있습니다.
✅ 예제 1: JSON 문자열 → 파이썬 딕셔너리
import json
json_str = '{"name": "Alice", "age": 25, "city": "Seoul"}'
data = json.loads(json_str)
print(data["name"], data["age"], data["city"]) # Alice 25 Seoul
📌 설명:
- json.loads(json_str)를 사용하면 JSON 문자열이 dict 형태로 변환됩니다.
- 변환된 데이터는 딕셔너리처럼 키를 이용해 접근할 수 있습니다.
🔹 3. 파이썬 객체를 JSON 문자열로 변환 (json.dumps)
json.dumps() 함수는 파이썬의 데이터를 JSON 문자열로 변환합니다. 이 기능은 JSON 데이터를 네트워크를 통해 전송하거나 파일로 저장할 때 유용합니다. 기본적으로 파이썬의 dict, list, tuple, str, int, float, bool, None 등의 데이터 타입을 JSON으로 변환할 수 있습니다.
✅ 예제 2: 파이썬 딕셔너리 → JSON 문자열
import json
data = {"name": "Alice", "age": 25, "city": "Seoul"}
json_str = json.dumps(data)
print(json_str)
출력 예시:
{"name": "Alice", "age": 25, "city": "Seoul"}
📌 설명:
- json.dumps(data)는 파이썬 딕셔너리를 JSON 문자열로 변환합니다.
- JSON 형식의 데이터를 저장하거나 네트워크로 전송할 때 유용합니다.
🔹 4. JSON 파일 읽고 쓰기 (json.load, json.dump)
파일로 저장된 JSON 데이터를 읽고 쓰는 방법을 알아봅니다.
✅ 예제 3: JSON 파일 저장
import json
data = {"name": "Alice", "age": 25, "city": "Seoul"}
with open("data.json", "w") as f:
json.dump(data, f)
📌 설명:
- json.dump(data, f)는 JSON 데이터를 파일에 저장합니다. JSON 형식의 데이터를 파일에 저장하면, 이후 프로그램에서 쉽게 불러와 사용할 수 있습니다. 예를 들어, 사용자 설정을 JSON 파일로 저장하면 프로그램 실행 시 해당 설정을 로드할 수 있습니다.
✅ 예제 4: JSON 파일 읽기
import json
with open("data.json", "r") as f:
data = json.load(f)
print(data)
📌 설명:
- json.load(f)를 사용하면 JSON 파일을 읽고 이를 파이썬의 딕셔너리 객체로 변환할 수 있습니다. 이 기능은 JSON 형식의 데이터 파일을 분석하거나 수정할 때 유용합니다.
🔹 5. JSON 정렬과 들여쓰기 (indent, sort_keys)
JSON을 가독성 있게 정렬할 수도 있습니다.
✅ 예제 5: 정렬된 JSON 출력
import json
data = {"name": "Alice", "age": 25, "city": "Seoul"}
json_str = json.dumps(data, indent=4, sort_keys=True)
print(json_str)
출력 예시:
{
"age": 25,
"city": "Seoul",
"name": "Alice"
}
📌 설명:
- indent=4 옵션을 사용하면 JSON이 보기 좋게 들여쓰기됩니다.
- sort_keys=True를 사용하면 키가 알파벳 순으로 정렬됩니다.
'IT > Python Basic' 카테고리의 다른 글
[Python] 특집 개념 - translate 함수 (0) | 2025.02.24 |
---|---|
[Python] 코딩테스트 필수 math 함수 개념 (0) | 2025.02.21 |
[Python] 슬라이싱 특집 - 기본부터 고급 활용까지 (0) | 2025.02.20 |
[python] 리스트 컴프리헨션 - n차원 리스트 (0) | 2025.02.20 |
[Python] 초급 퀴즈18 - 문자열 조작 (split, join, format, replace) (0) | 2025.02.20 |
[Python] 초급 퀴즈17 - 예외 처리 (try-except, raise, finally) (0) | 2025.02.19 |
[Python] 초급 퀴즈16 - 파일 입출력 (open, with, read/write) (0) | 2025.02.19 |
[Python] 초급 퀴즈15 - 딕셔너리 메서드, 키/값 접근, 집합 연산 (0) | 2025.02.19 |
댓글