[python] Marshmallow 모듈을 사용하여 JSON 데이터를 역직렬화하는 방법

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 공식 문서