본문 바로가기
IT/Python Basic

[Python] 초급 개념20 - JSON 데이터 다루기 (json 모듈)

by Echinacea 2025. 2. 20.
반응형

 

 

JSON(JavaScript Object Notation)은 데이터를 저장하고 교환하기 위한 경량 데이터 형식입니다. 일반적으로 웹 애플리케이션에서 서버와 클라이언트 간 데이터 교환을 위해 많이 사용됩니다. JSON은 사람이 읽고 쓰기 쉽고, 기계가 파싱하고 생성하기도 간편합니다. XML과 비교했을 때 더 간결하고 직관적인 구조를 가지고 있어 API 응답, 설정 파일, 데이터 저장 등에 널리 활용됩니다. 파이썬에서는 json 모듈을 사용하여 JSON 데이터를 쉽게 다룰 수 있습니다.


 

 

🔹 1. JSON 데이터란?

JSON은 키-값 쌍으로 이루어진 데이터 포맷으로, 대부분의 프로그래밍 언어에서 지원됩니다.

예제 JSON 데이터:

{
    "name": "Alice",
    "age": 25,
    "city": "Seoul"
}

 

📌 특징:

  • 키(key)는 항상 문자열
  • 값(value)은 숫자, 문자열, 리스트, 객체(JSON) 등이 될 수 있음
  • 데이터 교환 시 널리 사용됨 (예: API 응답, 설정 파일)

 

 

🔹 2. JSON 문자열을 파이썬 객체로 변환 (json.loads)

json.loads() 함수는 JSON 형식의 문자열을 파이썬의 딕셔너리로 변환합니다. 이는 JSON 데이터를 프로그램에서 쉽게 조작하고 활용할 수 있도록 도와줍니다. 예를 들어, API 응답을 받아 처리할 때 유용하게 사용할 수 있습니다.

 

✅ 예제 1: JSON 문자열 → 파이썬 딕셔너리

import json

json_str = '{"name": "Alice", "age": 25, "city": "Seoul"}'
data = json.loads(json_str)
print(data["name"], data["age"], data["city"])  # Alice 25 Seoul

 

📌 설명:

  • json.loads(json_str)를 사용하면 JSON 문자열이 dict 형태로 변환됩니다.
  • 변환된 데이터는 딕셔너리처럼 키를 이용해 접근할 수 있습니다.

 

 

🔹 3. 파이썬 객체를 JSON 문자열로 변환 (json.dumps)

json.dumps() 함수는 파이썬의 데이터를 JSON 문자열로 변환합니다. 이 기능은 JSON 데이터를 네트워크를 통해 전송하거나 파일로 저장할 때 유용합니다. 기본적으로 파이썬의 dict, list, tuple, str, int, float, bool, None 등의 데이터 타입을 JSON으로 변환할 수 있습니다.

 

✅ 예제 2: 파이썬 딕셔너리 → JSON 문자열

import json

data = {"name": "Alice", "age": 25, "city": "Seoul"}
json_str = json.dumps(data)
print(json_str)

출력 예시:

{"name": "Alice", "age": 25, "city": "Seoul"}

 

📌 설명:

  • json.dumps(data)는 파이썬 딕셔너리를 JSON 문자열로 변환합니다.
  • JSON 형식의 데이터를 저장하거나 네트워크로 전송할 때 유용합니다.

 

 

🔹 4. JSON 파일 읽고 쓰기 (json.load, json.dump)

파일로 저장된 JSON 데이터를 읽고 쓰는 방법을 알아봅니다.

 

✅ 예제 3: JSON 파일 저장

import json

data = {"name": "Alice", "age": 25, "city": "Seoul"}

with open("data.json", "w") as f:
    json.dump(data, f)

 

📌 설명:

  • json.dump(data, f)는 JSON 데이터를 파일에 저장합니다. JSON 형식의 데이터를 파일에 저장하면, 이후 프로그램에서 쉽게 불러와 사용할 수 있습니다. 예를 들어, 사용자 설정을 JSON 파일로 저장하면 프로그램 실행 시 해당 설정을 로드할 수 있습니다.

 

✅ 예제 4: JSON 파일 읽기

import json

with open("data.json", "r") as f:
    data = json.load(f)
print(data)

 

📌 설명:

  • json.load(f)를 사용하면 JSON 파일을 읽고 이를 파이썬의 딕셔너리 객체로 변환할 수 있습니다. 이 기능은 JSON 형식의 데이터 파일을 분석하거나 수정할 때 유용합니다.

 

 

🔹 5. JSON 정렬과 들여쓰기 (indent, sort_keys)

JSON을 가독성 있게 정렬할 수도 있습니다.

 

✅ 예제 5: 정렬된 JSON 출력

import json

data = {"name": "Alice", "age": 25, "city": "Seoul"}
json_str = json.dumps(data, indent=4, sort_keys=True)
print(json_str)

출력 예시:

{
    "age": 25,
    "city": "Seoul",
    "name": "Alice"
}

 

📌 설명:

  • indent=4 옵션을 사용하면 JSON이 보기 좋게 들여쓰기됩니다.
  • sort_keys=True를 사용하면 키가 알파벳 순으로 정렬됩니다.

 

반응형

댓글