📂 파이썬에서 JSON 파일 다루기
현대의 데이터는 JSON(JavaScript Object Notation) 형식으로 저장되는 경우가 많아요.
특히 웹 API, 설정 파일, 데이터 저장 등 다양한 곳에서 JSON을 활용하고 있어요.
파이썬에서는 JSON 파일을 쉽고 간단하게 다룰 수 있는 라이브러리가 내장되어 있어요! 😊
이번 글에서는 JSON 파일을 읽고, 쓰고, 수정하는 방법을 살펴볼게요. 🚀
💡 학습할 내용:
- JSON이란?
- JSON 파일을 파이썬에서 불러오기 (json.load)
- JSON 데이터를 파일에 저장하기 (json.dump)
- JSON 문자열을 파이썬 객체로 변환하기 (json.loads)
- 파이썬 객체를 JSON 문자열로 변환하기 (json.dumps)
- 실전 예제 및 활용법
🤔 1. JSON이란?
JSON은 데이터를 저장하고 교환하는 가벼운 데이터 형식입니다.
📌 JSON의 특징:
✅ 키-값 구조({key: value})로 데이터를 저장함
✅ 사람이 읽기 쉽고, 기계도 쉽게 처리할 수 있음
✅ 웹 API, 데이터 저장, 설정 파일 등에 자주 사용됨
📌 JSON 예제
{
"이름": "김철수",
"나이": 25,
"취미": ["독서", "프로그래밍", "여행"]
}
✅ 위 내용을 data.json 파일로 저장해 놓습니다.
JSON 데이터는 딕셔너리와 비슷하지만, 큰 차이점은 모든 키와 문자열 값이 반드시 큰따옴표("")로 감싸져야 한다는 점입니다.
📖 2. JSON 파일 읽기 (json.load)
파이썬에서는 json.load()를 사용하여 JSON 파일을 불러올 수 있습니다.
📌 예제: JSON 파일 불러오기
import json
# JSON 파일 읽기
with open("data.json", "r", encoding="utf-8") as file:
data = json.load(file)
print(data)
✅ 출력 예시 (data.json 파일 내용)
{"이름": "김철수", "나이": 25, "취미": ["독서", "프로그래밍", "여행"]}
📌 Tip: json.load()는 파일에서 JSON 데이터를 읽어와 파이썬 딕셔너리로 변환합니다.
✍️ 3. JSON 파일 저장하기 (json.dump)
파일로 저장할 때는 json.dump()를 사용합니다.
📌 예제: JSON 데이터 저장하기
import json
# 저장할 데이터
data = {
"이름": "이영희",
"나이": 30,
"취미": ["영화 감상", "운동"]
}
# JSON 파일로 저장하기
with open("data.json", "w", encoding="utf-8") as file:
json.dump(data, file, ensure_ascii=False, indent=4)
✅ 결과: data.json 파일 내용
{
"이름": "이영희",
"나이": 30,
"취미": ["영화 감상", "운동"]
}
📌 ensure_ascii=False 옵션을 사용하면 한글이 유니코드(\uAC00)로 변환되지 않고 그대로 저장됩니다.
📌 indent=4를 설정하면 JSON이 예쁘게 정렬됩니다. 😃
🔄 4. JSON 문자열을 파이썬 객체로 변환하기 (json.loads)
파일이 아닌 JSON 문자열을 직접 다룰 수도 있습니다.
📌 예제: JSON 문자열을 파이썬 객체로 변환하기
import json
json_string = '{"이름": "박지훈", "나이": 27}'
data = json.loads(json_string)
print(data["이름"]) # 박지훈 출력
📌 json.loads()를 사용하면 JSON 문자열을 파이썬 딕셔너리로 변환할 수 있습니다.
🔄 5. 파이썬 객체를 JSON 문자열로 변환하기 (json.dumps)
반대로, 파이썬 객체를 JSON 문자열로 변환할 수도 있습니다.
📌 예제: 파이썬 객체 → JSON 문자열 변환
import json
data = {"이름": "한수민", "나이": 29, "도시": "서울"}
json_string = json.dumps(data, ensure_ascii=False, indent=4)
print(json_string)
📌 json.dumps()를 사용하면 파이썬 객체를 JSON 형식의 문자열로 변환할 수 있습니다!
✅ 출력 결과
{
"이름": "한수민",
"나이": 29,
"도시": "서울"
}
🎯 6. 실전 연습 문제
✏️ 문제 1: JSON 파일에서 특정 값 가져오기
📌 data.json 파일에서 '취미' 목록을 출력하는 프로그램을 만들어보세요.
import json
with open("data.json", "r", encoding="utf-8") as file:
data = json.load(file)
print("취미:", data["취미"])
✅ 출력 예시
취미: ['영화 감상', '운동']
✏️ 문제 2: JSON 파일 수정하기
📌 data.json 파일에서 나이를 1살 증가시키는 프로그램을 작성하세요.
with open("data.json", "r", encoding="utf-8") as file:
data = json.load(file)
data["나이"] += 1 # 나이 증가
with open("data.json", "w", encoding="utf-8") as file:
json.dump(data, file, ensure_ascii=False, indent=4)
✅ 출력 결과 (파일이 업데이트됨)
{
"이름": "이영희",
"나이": 31,
"취미": ["영화 감상", "운동"]
}
📢 7. 마무리 및 다음 학습
이 글에서는 파이썬에서 JSON 파일을 읽고, 쓰고, 수정하는 방법을 살펴봤어요.
JSON을 다루는 방법을 익히면 API 데이터 처리, 설정 파일 관리, 데이터 저장 등 다양한 곳에서 활용할 수 있어요! 😊
✅ 다음 추천 학습 주제
🔹 CSV 파일을 다루는 법 – 데이터 분석을 위한 필수 기술!
📌 파이썬 기초부터 차근차근 배우고 싶다면? 다음 글도 기대해주세요! 🚀
'AI와 친해지기 > AI를 직접해볼까?' 카테고리의 다른 글
[Python기초] AI개발자를 위한 Pandas & Numpy 기초 (1) | 2025.02.16 |
---|---|
[Python기초] AI개발자를 위한 CSV 파일을 다루는 법 (2) | 2025.02.15 |
[Python 기초] AI 개발자를 위한 파일 입출력(File I/O) 활용하기 (1) | 2025.02.13 |
[Python 기초] AI 개발자를 위한 클래스, 객체 지향 프로그래밍 (2) | 2025.02.12 |
[Python 기초] AI 개발자를 위한 함수 활용법 (1) | 2025.02.11 |