[python] 파이썬에서 데이터베이스 연동 시 JSON 형식 데이터 다루기

파이썬을 사용하여 데이터베이스와 연동할 때, 종종 JSON 형식의 데이터를 다뤄야 하는 경우가 있습니다. JSON은 데이터를 저장하거나 교환하기 위한 경량의 형식으로 많은 데이터베이스나 웹 API에서 널리 사용됩니다. 이 글에서는 파이썬에서 데이터베이스와 JSON 형식 데이터를 연동하고 다루는 방법에 대해 알아보겠습니다.

1. JSON 모듈을 사용하여 데이터 다루기

파이썬에서 JSON 형식의 데이터를 다루기 위해서는 내장된 JSON 모듈을 사용할 수 있습니다. 다음은 JSON 모듈을 사용하여 JSON 형식의 데이터를 파이썬 자료구조로 변환하는 예제입니다.

import json

# JSON 형식의 데이터
json_data = '{"name": "John", "age": 30, "city": "New York"}'

# JSON 데이터를 파이썬 자료구조로 변환
data = json.loads(json_data)
print(data['name'])  # 'John' 출력

2. 데이터베이스에서 JSON 데이터 조회하기

데이터베이스에서 JSON 형식으로 저장된 데이터를 조회하는 경우, 데이터베이스의 종류에 따라 JSON 형식을 지원하는 기능이 다를 수 있습니다. 예를 들어, PostgreSQL 데이터베이스의 경우 JSONB 데이터 타입을 사용하여 JSON 데이터를 저장하고 조회할 수 있습니다. 다음은 PostgreSQL 데이터베이스에서 JSON 데이터를 조회하는 예제입니다.

import psycopg2

# PostgreSQL 데이터베이스 연결
conn = psycopg2.connect("dbname=mydb user=postgres password=secret")
cursor = conn.cursor()

# JSON 데이터 조회 쿼리
cursor.execute("SELECT json_column FROM my_table WHERE id=1")

# 결과 가져오기
row = cursor.fetchone()
json_data = row[0]

# JSON 데이터를 파이썬 자료구조로 변환
data = json.loads(json_data)
print(data['name'])  # 'John' 출력

# 연결 종료
cursor.close()
conn.close()

3. 데이터베이스에 JSON 데이터 삽입하기

데이터베이스에 JSON 형식의 데이터를 삽입하는 경우에도 데이터베이스의 종류에 따라 지원되는 기능이 다를 수 있습니다. 다음은 PostgreSQL 데이터베이스에 JSON 데이터를 삽입하는 예제입니다.

import psycopg2

# JSON 데이터
data = {"name": "Alice", "age": 25, "city": "San Francisco"}
json_data = json.dumps(data)

# PostgreSQL 데이터베이스 연결
conn = psycopg2.connect("dbname=mydb user=postgres password=secret")
cursor = conn.cursor()

# JSON 데이터 삽입 쿼리
cursor.execute("INSERT INTO my_table (json_column) VALUES (%s)", (json_data,))

# 변경사항 저장 및 연결 종료
conn.commit()
cursor.close()
conn.close()

결론

파이썬에서 데이터베이스와 JSON 형식 데이터를 연동하고 다루는 방법에 대해 간단히 살펴보았습니다. JSON 형식의 데이터를 파이썬 자료구조로 변환하거나 데이터베이스에서 JSON 데이터를 조회하고 삽입하는 방법을 활용하여 데이터베이스 연동 시 효율적으로 JSON 형식 데이터를 다룰 수 있습니다. JSON 형식을 다루는 방법은 데이터베이스의 종류에 따라 다를 수 있으므로 각 데이터베이스의 공식 문서를 참고하여 작업하는 것이 좋습니다.

더 많은 정보를 원하시거나 더 자세한 내용을 원하신다면, 관련 데이터베이스의 공식 문서 및 파이썬의 JSON 모듈 공식 문서를 참고하시기 바랍니다.