[python] Marshmallow의 List 필드를 사용하여 JSON 배열 데이터 처리하기

JSON 형식의 배열 데이터를 파이썬 객체로 변환하거나, 파이썬 객체를 JSON 배열 형식으로 변환할 때 Marshmallow라이브러리의 List 필드를 사용할 수 있습니다. 이를 통해 간편하게 배열 데이터를 처리할 수 있습니다.

Marshmallow란?

Marshmallow는 파이썬 객체와 JSON 데이터 간의 직렬화(serialization)와 역직렬화(deserialization)를 위한 라이브러리입니다. 객체 간의 데이터 전송 및 저장에 유용하게 사용됩니다. Marshmallow는 객체의 스키마를 정의하고 이를 기반으로 JSON 데이터를 파이썬 객체로 변환하거나, 그 반대로 파이썬 객체를 JSON 데이터로 변환할 수 있습니다.

List 필드를 사용한 JSON 배열 데이터 처리하기

Marshmallow의 List 필드는 JSON 배열을 파이썬의 리스트 형태로 변환해주거나, 그 반대로 파이썬의 리스트를 JSON 배열 형태로 변환해주는 역할을 합니다. 이를 통해 JSON 배열 데이터를 쉽게 처리할 수 있습니다.

아래는 Marshmallow의 List 필드를 사용하여 JSON 배열 데이터를 파이썬 객체로 변환하는 예제입니다.

from marshmallow import Schema, fields

class UserSchema(Schema):
    names = fields.List(fields.String())

json_data = '{"names": ["Alice", "Bob", "Charlie"]}'
user = UserSchema().load(json_data)

print(user.names)  # ["Alice", "Bob", "Charlie"]

위의 예제는 UserSchema 클래스에 List 필드를 사용하여 names 필드를 정의하고, JSON 데이터를 load 메서드를 통해 파이썬 객체로 변환한 후, names 필드를 출력하는 예제입니다.

반대로, 파이썬 객체를 JSON 데이터로 변환하는 경우에도 List 필드를 사용할 수 있습니다. 아래는 이에 대한 예제입니다.

from marshmallow import Schema, fields

class UserSchema(Schema):
    names = fields.List(fields.String())

user = {"names": ["Alice", "Bob", "Charlie"]}
json_data = UserSchema().dump(user)

print(json_data)  # {"names": ["Alice", "Bob", "Charlie"]}

위의 예제는 파이썬 객체를 Marshmallow의 List 필드를 사용하여 JSON 데이터로 변환하는 예제입니다. dump 메서드를 사용하여 파이썬 객체를 JSON 데이터로 변환한 후, 변환된 JSON 데이터를 출력합니다.

마무리

Marshmallow의 List 필드를 사용하면 JSON 배열 데이터를 파이썬 객체로 쉽게 변환하거나, 그 반대로 파이썬 객체를 JSON 배열 데이터로 쉽게 변환할 수 있습니다. 이를 통해 간편하게 JSON 배열 데이터를 처리할 수 있습니다.

Marshmallow에 대한 자세한 내용은 공식 문서를 참고해주세요.