파이썬 JSON 데이터 처리법 완전정리: 실전 예제와 꿀팁 총정리!
파이썬 JSON 데이터 처리, 어렵게 느껴지시나요? 이 글 하나로 JSON의 개념부터 파이썬에서의 읽기/쓰기, 문자열 변환, 딕셔너리 활용, 인코딩 옵션과 실전 예외처리까지 완벽하게 정리해드립니다. JSON은 웹 API, 데이터 교환, 로그 저장 등 실무에서 가장 많이 쓰이는 데이터 포맷입니다. 파이썬의 json 모듈만 제대로 익혀도 데이터 업무가 확 달라집니다.
많은 분들이 "json.load와 loads의 차이는?", "딕셔너리와 리스트를 JSON으로 어떻게 바꿀까?", "인코딩, 들여쓰기, 한글 깨짐은 어떻게 처리하지?" 등 다양한 고민을 하시죠. 이 글에서 모든 궁금증을 해결하세요!
📋 목차
🔍JSON이란? 기본 구조와 특징
JSON(JavaScript Object Notation)은 사람과 기계 모두 읽기 쉬운 데이터 교환용 포맷입니다. 파이썬의 딕셔너리, 리스트와 구조가 유사해 변환이 매우 쉽습니다.
- 키-값 쌍(object), 배열(array)로 데이터 표현
- 웹 API, 데이터 저장, 로그 등 다양한 분야에서 표준
- 파이썬 json 모듈로 손쉽게 변환/처리 가능
한줄 요약: JSON은 범용 데이터 교환용 표준 포맷!
📝JSON 데이터 읽기: load, loads
파이썬에서 JSON 데이터를 읽으려면 json.load()와 json.loads()를 사용합니다.
함수 | 설명 | 예시 |
---|---|---|
json.load() | 파일에서 JSON 읽기 | with open('data.json') as f: data = json.load(f) |
json.loads() | 문자열에서 JSON 읽기 | data = json.loads('{"name":"홍길동"}') |
import json
파일에서 읽기
with open('myinfo.json') as f:
data = json.load(f)
print(data)
문자열에서 읽기
json_str = '{"name": "Jane", "age": 30}'
data = json.loads(json_str)
print(data)
읽은 데이터는 파이썬의 dict, list 등으로 자동 변환됩니다.
한줄 요약: load=파일, loads=문자열에서 읽기!
💾JSON 데이터 쓰기: dump, dumps
파이썬 객체를 JSON으로 저장하려면 json.dump()와 json.dumps()를 사용합니다.
함수 | 설명 | 예시 |
---|---|---|
json.dump() | 파일로 저장 | with open('data.json', 'w') as f: json.dump(data, f) |
json.dumps() | 문자열로 변환 | json_str = json.dumps(data) |
import json
data = {'name': '홍길동', 'birth': '0525', 'age': 30}
파일로 저장
with open('myinfo.json', 'w') as f:
json.dump(data, f)
문자열로 변환
json_str = json.dumps(data)
print(json_str)
한줄 요약: dump=파일, dumps=문자열로 저장!
⚡인코딩, 들여쓰기, 옵션 활용
json 모듈은 indent, ensure_ascii, sort_keys 등 다양한 옵션을 제공합니다.
옵션 | 설명 | 예시 |
---|---|---|
indent | 들여쓰기(가독성 향상) | json.dumps(data, indent=4) |
ensure_ascii | 한글 등 비ASCII 문자 처리 | json.dumps(data, ensure_ascii=False) |
sort_keys | 키 정렬 | json.dumps(data, sort_keys=True) |
json_str = json.dumps(data, indent=2, ensure_ascii=False, sort_keys=True) print(json_str)
한글 저장 시 ensure_ascii=False 옵션을 꼭 사용하세요!
한줄 요약: 옵션으로 가독성, 한글, 정렬까지 완벽하게!
💡실전 활용 꿀팁과 주의사항
- json.load/loads: 파일/문자열 → 파이썬 객체(dict, list 등)
- json.dump/dumps: 파이썬 객체 → 파일/문자열(JSON)
- ensure_ascii=False로 한글 깨짐 방지
- indent로 가독성 향상, sort_keys로 키 정렬
- ValueError 등 예외처리로 데이터 오류 대비
- json.load/loads, dump/dumps로 자유로운 변환
- indent, ensure_ascii, sort_keys 등 옵션 적극 활용
- 한글, 인코딩, 예외처리까지 꼼꼼하게 챙기기
한줄 요약: json 모듈만 알면 데이터 교환이 쉬워집니다!
- json.load/loads, dump/dumps로 파일·문자열 자유롭게 변환
- indent, ensure_ascii, sort_keys 등 옵션으로 실전 문제 해결
- 한글, 인코딩, 예외처리까지 꼼꼼하게 챙기기
도움이 되셨다면 공감♥ 눌러주세요!
파이썬 JSON 데이터 처리법, 이제 완벽하게 이해하셨나요? 다음 글에서는 requests, pandas와 연동한 고급 JSON 활용, 실전 자동화 예제까지 다룰 예정입니다. 궁금한 점이나 추가 질문은 댓글로 남겨주세요! 구독과 알림 설정도 잊지 마세요.
#파이썬JSON #json모듈 #json읽기 #json쓰기 #dump #dumps #load #loads #파이썬데이터 #파이썬2025
'IT silo' 카테고리의 다른 글
파이썬 람다 함수 활용 예제 완전정리: map, filter, 정렬까지 한눈에! (0) | 2025.06.30 |
---|---|
파이썬 정규표현식 re 모듈 완전정복: 실전 활용과 꿀팁 총정리! (1) | 2025.06.30 |
파이썬 예외처리 try-except 완전정복: 안전한 코드의 첫걸음 (1) | 2025.06.30 |
파이썬 상속과 다형성 이해: 객체지향의 핵심을 한눈에! (0) | 2025.06.29 |
파이썬 클래스와 객체 만들기: 실전 예제와 완벽 가이드 (1) | 2025.06.29 |