본문 바로가기

강의/Python 기초

Chapter 14. JSON 데이터 관리 프로그램

반응형

JSON 저장/읽기

안녕하세요.
이번 시간에는 파이썬으로 JSON 데이터를 저장하고 읽는 방법을 배워보겠습니다.

JSON은 데이터를 저장할 때 많이 사용하는 파일 형식입니다.
쉽게 말하면 이름표가 붙어 있는 상자처럼 데이터를 정리해서 저장하는 방법입니다.

예를 들어 학생 정보를 저장한다면 이렇게 생각할 수 있습니다.

{
  "name": "철수",
  "age": 13,
  "hobby": "축구"
}

여기서 name, age, hobby는 데이터의 이름표입니다.


1. JSON이란?

JSON은 데이터를 저장하거나 주고받을 때 사용하는 형식입니다.

파이썬의 딕셔너리와 모양이 비슷합니다.

student = {
    "name": "철수",
    "age": 13,
    "hobby": "축구"
}

이런 데이터를 파일로 저장하면 나중에 다시 불러와서 사용할 수 있습니다.


2. 이번 프로그램에서 만들 기능

이번 프로그램은 다음 기능을 만듭니다.

  1. 학생 정보 입력하기
  2. JSON 파일로 저장하기
  3. JSON 파일 읽기
  4. 저장된 학생 정보 출력하기

3. 전체 프로그램 코드

import json

# 학생 정보를 저장할 딕셔너리 만들기
student = {}

# 사용자에게 학생 정보 입력받기
student["name"] = input("이름을 입력하세요: ")
student["age"] = int(input("나이를 입력하세요: "))
student["hobby"] = input("취미를 입력하세요: ")

# JSON 파일로 저장하기
with open("student.json", "w", encoding="utf-8") as file:
    json.dump(student, file, ensure_ascii=False, indent=4)

print("학생 정보가 student.json 파일에 저장되었습니다.")

# JSON 파일 읽기
with open("student.json", "r", encoding="utf-8") as file:
    loaded_student = json.load(file)

# 읽어온 데이터 출력하기
print("\n저장된 학생 정보")
print("이름:", loaded_student["name"])
print("나이:", loaded_student["age"])
print("취미:", loaded_student["hobby"])

4. 실행 예시

이름을 입력하세요: 철수
나이를 입력하세요: 13
취미를 입력하세요: 축구

학생 정보가 student.json 파일에 저장되었습니다.

저장된 학생 정보
이름: 철수
나이: 13
취미: 축구

5. 코드 쉽게 설명하기

import json

JSON을 사용하기 위해 json 모듈을 불러옵니다.

모듈은 쉽게 말해 파이썬 도구 상자입니다.


student = {}

학생 정보를 저장할 빈 딕셔너리를 만듭니다.

딕셔너리는 이름표와 값을 함께 저장하는 상자입니다.


student["name"] = input("이름을 입력하세요: ")
student["age"] = int(input("나이를 입력하세요: "))
student["hobby"] = input("취미를 입력하세요: ")

사용자가 입력한 이름, 나이, 취미를 딕셔너리에 저장합니다.

예를 들어 철수를 입력하면 이렇게 저장됩니다.

{
    "name": "철수",
    "age": 13,
    "hobby": "축구"
}

with open("student.json", "w", encoding="utf-8") as file:

student.json 파일을 쓰기 모드로 엽니다.

여기서 "w"는 write의 뜻으로, 파일에 내용을 저장할 때 사용합니다.


json.dump(student, file, ensure_ascii=False, indent=4)

학생 정보를 JSON 파일에 저장합니다.

ensure_ascii=False는 한글이 깨지지 않게 해줍니다.
indent=4는 파일 내용을 보기 좋게 정리해 줍니다.


with open("student.json", "r", encoding="utf-8") as file:

이번에는 저장된 JSON 파일을 읽기 모드로 엽니다.

"r"은 read의 뜻으로, 파일을 읽을 때 사용합니다.


loaded_student = json.load(file)

JSON 파일 안에 저장된 내용을 다시 파이썬 데이터로 불러옵니다.


print("이름:", loaded_student["name"])
print("나이:", loaded_student["age"])
print("취미:", loaded_student["hobby"])

불러온 학생 정보를 화면에 출력합니다.


6. student.json 파일에는 어떻게 저장될까?

프로그램을 실행하면 student.json 파일이 만들어집니다.

파일 안에는 다음처럼 저장됩니다.

{
    "name": "철수",
    "age": 13,
    "hobby": "축구"
}

사람이 보기에도 쉽고, 컴퓨터가 읽기에도 좋은 모양입니다.


7. JSON을 사용하는 이유

JSON은 여러 곳에서 많이 사용됩니다.

예를 들어 다음과 같은 곳에서 사용됩니다.

  • 학생 정보 저장
  • 회원 정보 저장
  • 게임 점수 저장
  • 설정 파일 저장
  • 웹사이트 데이터 저장

그래서 JSON을 배우면 파일 저장 프로그램을 만들 때 아주 유용합니다.


8. 정리

이번 시간에는 파이썬으로 JSON 데이터를 저장하고 읽는 방법을 배웠습니다.

핵심은 다음과 같습니다.

json.dump()

데이터를 JSON 파일로 저장할 때 사용합니다.

json.load()

JSON 파일을 다시 읽어올 때 사용합니다.

JSON은 데이터를 깔끔하게 저장할 수 있기 때문에 파이썬 프로그램에서 자주 사용됩니다.


9. 연습 문제

문제 1

동물 정보를 JSON 파일로 저장해 보세요.

저장할 정보는 다음과 같습니다.

동물 이름: 강아지
나이: 3
좋아하는 음식: 고기

문제 2

책 정보를 JSON 파일로 저장하고 다시 읽어 보세요.

저장할 정보는 다음과 같습니다.

책 제목: 파이썬 기초
가격: 15000
출판사: 코딩출판사

JSON 데이터 관리 프로그램

반응형