파이썬 json 모듈 사용하기

30 P
QUESTION 08 #388
파이썬 기본 json 모듈을 이용하여 딕셔너리 데이터를 JSON 파일로 저장하고 다시 읽는 프로그램입니다. 빈칸을 채우세요.
main.py
import json

# 저장할 데이터 (딕셔너리)
student = {
    "이름": "김민수",
    "나이": 16,
    "과목": ["수학", "영어", "과학"]
}

# JSON 파일로 저장
with open('/tmp/student.json', 'w') as f:
    json.(student, f, ensure_ascii=False, indent=2)

# JSON 파일 읽기
with open('/tmp/student.json', 'r') as f:
    loaded = json.(f)

print("이름:", loaded["이름"])
print("과목 수:", len(loaded["과목"]))
실행 결과 예시
이름: 김민수
과목 수: 3
INTERACTIVE SHELL Shift + Enter 로 즉시 실행

파이썬 json 모듈

json 모듈은 파이썬에 기본 내장된 모듈로, JSON 형식의 데이터를 다룹니다.

4가지 핵심 함수

함수 방향 대상
json.dump() 파이썬 → 파일 파일에 저장
json.load() 파일 → 파이썬 파일에서 읽기
json.dumps() 파이썬 → 문자열 문자열로 변환
json.loads() 문자열 → 파이썬 문자열에서 변환

dump()와 load() 짝꿍

# 저장: dump (파이썬 → 파일)
with open('data.json', 'w') as f:
    json.dump(data, f)

# 읽기: load (파일 → 파이썬)
with open('data.json', 'r') as f:
    data = json.load(f)

dump() 주요 옵션

옵션 설명 예시
ensure_ascii=False 한글 그대로 저장 필수!
indent=2 들여쓰기 (보기 좋게) 사람이 읽을 때
# indent 없이 저장 (한 줄)
{"이름":"민수","나이":16,"과목":["수학","영어"]}

# indent=2로 저장 (보기 좋게)
{
  "이름": "민수",
  "나이": 16,
  "과목": [
    "수학",
    "영어"
  ]
}

파이썬 ↔ JSON 자료형 대응

파이썬 JSON
dict object {}
list array []
str string ""
int, float number
True / False true / false
None null

pandas vs json 모듈

비교 pandas json 모듈
용도 표(테이블) 데이터 모든 구조의 데이터
결과 데이터프레임 딕셔너리/리스트
중첩 구조 제한적 자유롭게 처리

💡 핵심: 표 형태 데이터는 pandas, 자유로운 구조의 데이터는 json 모듈을 사용하세요.