AI와 친해지기/AI를 직접해볼까?

[Python기초] AI개발자를 위한 JSON 파일 다루기

insight발자국 2025. 2. 14. 09:40

📂 파이썬에서 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 파일을 다루는 법 – 데이터 분석을 위한 필수 기술!

📌 파이썬 기초부터 차근차근 배우고 싶다면? 다음 글도 기대해주세요! 🚀