JSON(JavaScript Object Notation)은 웹·API 통신의 표준 데이터 형식이며, 파이썬의 json 모듈로 매우 쉽게 다룰 수 있습니다.
딕셔너리·리스트가 JSON 객체·배열과 거의 1:1로 매핑되어 자연스럽습니다.
기본 사용 — 파이썬 → JSON.
import json.
data = {"name": "홍길동", "age": 30}.
json_str = json.dumps(data) — 파이썬 객체를 JSON 문자열로.
ensure_ascii=False 옵션을 주면 한글이 그대로 보존됩니다(권장).
JSON → 파이썬.
data = json.loads(json_str) — JSON 문자열을 파이썬 객체로.
dumps의 정반대 작업.
외부 API 응답, 설정 파일, 사용자가 보낸 데이터를 처리하는 거의 모든 곳에 쓰입니다.
파일과 함께.
with open("data.json", "w", encoding="utf-8") as f: json.dump(data, f, ensure_ascii=False, indent=2).
파일에 JSON으로 저장.
with open("data.json") as f: data = json.load(f).
파일에서 JSON으로 읽기.
「dumps/loads」가 문자열, 「dump/load」가 파일 — 「s」 유무로 구분됩니다.
indent 옵션으로 사람이 읽기 좋은 형식 — json.dumps(data, indent=2) 한 줄.
sort_keys=True로 키 정렬.
default 인자로 datetime 같은 비표준 객체의 변환 방식 지정.
한국 개발에서는 ensure_ascii=False, indent=2가 거의 표준 옵션 조합입니다.
한 줄 요약
json 모듈은 dumps(파이썬→문자열), loads(문자열→파이썬), dump/load(파일 포함)로 JSON을 다룹니다.
한국 개발은 ensure_ascii=False, indent=2 옵션이 표준입니다.
더 알아볼 것
- pickle — 파이썬 전용 직렬화
- json5·msgpack — JSON 대안
- Pydantic — JSON 스키마 검증