Marshmallow는 Python을 위한 직렬화 및 역직렬화 라이브러리입니다. 이 라이브러리를 사용하면 Python 객체를 JSON으로 변환하고, 다시 JSON을 Python 객체로 변환할 수 있습니다. 이번에는 Marshmallow 모듈을 사용하여 JSON 데이터를 역직렬화하는 방법에 대해 알아보겠습니다.
Marshmallow 설치
Marshmallow를 사용하기 위해 먼저 해당 모듈을 설치해야 합니다. 아래 명령을 사용하여 Marshmallow를 설치할 수 있습니다:
pip install marshmallow
Marshmallow 스키마 정의
Marshmallow를 사용하여 JSON 데이터를 역직렬화하기 위해 먼저 스키마를 정의해야 합니다. 스키마는 JSON 데이터와 Python 객체 사이의 매핑 역할을 합니다. 아래는 간단한 스키마의 예입니다:
from marshmallow import Schema, fields
class UserSchema(Schema):
name = fields.Str()
age = fields.Int()
email = fields.Email()
위의 예제에서는 UserSchema
라는 클래스를 정의하고, name
, age
, email
필드를 정의하였습니다. 각 필드는 Marshmallow의 fields
모듈을 사용하여 정의됩니다.
JSON 데이터 역직렬화
이제 스키마를 정의했으므로 JSON 데이터를 역직렬화할 수 있습니다. 아래는 JSON 데이터를 역직렬화하는 예제입니다:
from marshmallow import Schema, fields
# 스키마 정의
class UserSchema(Schema):
name = fields.Str()
age = fields.Int()
email = fields.Email()
# JSON 데이터
json_data = {
"name": "John Doe",
"age": 30,
"email": "johndoe@example.com"
}
# JSON 데이터 역직렬화
user_schema = UserSchema()
user = user_schema.load(json_data)
print(user) # {'name': 'John Doe', 'age': 30, 'email': 'johndoe@example.com'}
위의 예제에서는 user_schema.load()
메소드를 사용하여 JSON 데이터를 역직렬화하고, 결과를 user
변수에 저장하였습니다.
마무리
이제 Marshmallow 모듈을 사용하여 JSON 데이터를 역직렬화하는 방법에 대해 알아보았습니다. Marshmallow는 간단하고 강력한 직렬화 및 역직렬화 도구이며, Python 프로젝트에서 JSON 데이터를 처리해야 할 때 유용하게 사용할 수 있습니다.
더 자세한 내용은 Marshmallow의 공식 문서를 참조하세요: Marshmallow 공식 문서