마시멜로를 사용하여 Python에서 JSON 스키마 유효성 검사
6757 단어 marshmallowpythonjson
수신 JSON 데이터 및 응답을 JSON 형식으로 처리할 때 웹 서비스에 유용합니다.
설치
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install marshmallow
예
간단한 예
이 예에서는 다음 기능을 보여줍니다.
from marshmallow import Schema, fields, validate, post_load
class Person(Schema):
name = fields.Str(required=True)
gender = fields.Str(required=True, validate=validate.OneOf({"male", "female", "other"}))
email = fields.Email(required=True)
registration_datetime = fields.DateTime("%Y-%m-%dT%H:%M:%S%z")
@post_load
def convert_to_utc_datetime(self, data, **kwargs):
data["registration_datetime"] = data["registration_datetime"].astimezone(datetime.timezone.utc)
return data
person_schema = Person()
>>> person_data = {"name": "Tommy", "gender": "male", "email": "[email protected]", "registration_datetime": "2022-07-06T08:00:00+08:00"}
>>> person_schema.load(person_data)
{'gender': 'male',
'name': 'Tommy',
'registration_datetime': datetime.datetime(2022, 7, 6, 0, 0, tzinfo=datetime.timezone.utc),
'email': '[email protected]'}
>>> invalid_person_data = {"name": "Tommy", "gender": "mmale", "email": "[email protected]", "registration_datetime": "2022-07-06T08:00:00+08:00"}
>>> person_schema.load(invalid_person_data)
ValidationError: {'gender': ['Must be one of: female, other, male.']}
Reference
이 문제에 관하여(마시멜로를 사용하여 Python에서 JSON 스키마 유효성 검사), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/huang06/validate-json-schema-in-python-using-marshmallow-3am2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)